🐙
Salesforceオブジェクトの項目一覧csv出力方法
こんにちは。若手SEのオカピです。
こちらの記事では、Salesforceのオブジェクトごとに、項目をcsvファイルで一覧可する方法をご紹介します。
Salesforce AppExchangeから、アプリケーションをインストールする必要はありません。
準備
まず、Salesforceの開発者コンソールを開きます。
つぎに、Debug → Anonymous Windowを開きます。
(Ctrl+Eでも可)
こちらで準備は完了です。
csv出力実行
さあ、Anonymous Windowで、以下のコードを実行(Execute)します。
例として、MyObject__cというカスタムオブジェクトの項目一覧のcsvファイルを出力します。
cv.ContentLocation = 'S'; // ファイルをSalesforce上に保存する
cv.PathOnClient = 'MyObject.csv'; // ファイル名
cv.Title = 'MyObject'; // ファイルタイトル
String myContent = '項目名,API参照名,データ型,バイト数,文字数' + '\n'; //出力ファイルの項目を作成
//List<String> reqFields = new List<String>();
Map <String,Schema.SObjectType> gd = Schema.getGlobalDescribe();
Schema.SObjectType sobjType = gd.get('MyObject__c');
Schema.DescribeSObjectResult r = sobjType.getDescribe();
Map<String, Schema.SObjectField> mapOfField = r.fields.getMap();
for(String fieldName : mapOfField.keySet()) {
Schema.SObjectField field = mapOfField.get(fieldName);
Schema.DescribeFieldResult fDescribe = field.getDescribe();
System.debug('field-->' + field);
System.debug('field describe-->' + fDescribe);
myContent += fDescribe.getLabel() + ',' + field + ',' + fDescribe.getType() + ',' + fDescribe.getByteLength() + ',' + fDescribe.getLength() + '\n';
}
cv.VersionData = Blob.valueOf(myContent); // ファイルデータ
insert cv;
ファイルの保存場所
「ファイル」項目に、先ほど出力したcsvファイルが保管されています。
出力結果
ファイルの中身はこちらです。(csvをそのまま開くと文字化けするので、整形しております)
作成した項目が反映されています。
お疲れさまでした^^
Discussion