Salesforceのオブジェクトからリストボタン『CSV出力』を作成。
動作:JavaScriptを実行
内容のソース:OnClickJavaScript
で設定しています。
あとは構文でJavaScriptを入力し、CSVを出力できるようにする。
そこで、JavaScriptでCSV出力を行えるようにするには
どうしたらよいか、ご教示お願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
代替案となってしまいますが、
カスタムボタンをVisualforceとし、Visualforce + Apexを使用しAccountの内容をCSVで出力する例を記述します。
試してみたのは
・Salesforce classic
・リストボタンに実装ということなので、Accountのビューに、ボタンを用意。チェックしたものをCSV出力する。
まず、Visualforceを2つ作成します。
その1.ボタン用
<apex:page standardController="Account" recordSetVar="AccountObjs" extensions="AccountCsvController" action="{!execute}"> </apex:page>
その2.CSV用
<apex:page standardController="Account" recordSetVar="AccountObjs" extensions="AccountCsvController" contentType="text/csv;charset=Shift-JIS;#test.csv"> <apex:repeat value="{!csvList}" var="row"> <apex:outputText value="{!row}"/> </apex:repeat> </apex:page>
Apexは以下のようにします。
public class AccountCsvController { public List<String> csvList {get; set;} ApexPages.StandardSetController controller {get; set;} public AccountCsvController(ApexPages.StandardSetController controller) { this.controller = controller; } public PageReference execute(){ List<Account> AccountIdList = (List<Account>)controller.getSelected(); csvList = new List<String>(); for(Account a : [SELECT Name, BillingPostalcode FROM Account Where Id IN : AccountIdList]){ String line = a.name + ',' + a.BillingPostalcode + '\n'; csvList.add(line); } return Page.AccountCsvButtonPage2; } }
雑に書いています。
・nullの場合か空文字に変換
・Stirng.escapeCsv()でダブルクォーテションをつけたりといった考慮
・ビューでチェック無しの場合のエラー処理
も必要になりますが、とりあえず、CSVはこのようにすれば出力できます。
投稿2017/05/31 07:17
総合スコア116
0
JavaScriptは使用していませんが、VisualForceのページに
ontentType="text/csv"
と設定した上で、そのページに遷移するようにするとうまくいくみたいですね。
HTML
1<apex:page controller="CreateCSV" cache="true" 2 contentType="text/csv;charset=Shift-JIS;#test.csv" readOnly="true"> 3 <apex:repeat value="{!csvRows}" var="row"> 4 <apex:outputText value="{!row.columns}" /> 5 </apex:repeat> 6</apex:page>
投稿2017/05/25 07:15
総合スコア3027
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。