2011-12-29 92 views
0

想知道是否可以在頂點代碼(作爲附件)中創建Excel或CSV文件?目前我只看到它與VF頁面一起工作,但我期望在不使用vf頁面的頂級代碼中執行此操作,但我沒有看到任何選項。在Apex代碼中創建Excel文件

任何幫助表示讚賞。

感謝

+0

如果您不想在VF頁面上執行此操作,您打算如何存儲該文件?將它存儲在文檔或其他東西? – 2012-01-03 00:15:21

回答

3

不幸的是,在頂點沒有本地CSV庫或API來處理的CSV文件的創建。當然不是XLS文檔,儘管您可以使用本機XML DOM庫來創建Excel友好的XML文檔。

要寫CSV,這應該相當簡單;它基本上是一個巨大的字符串,在每個完整記錄寫入結束時有一個回車符和/或換行符。您需要通過使用String.replaceAll('\','\'');等來謹慎管理屬性值擒縱,這反過來會嚴重影響您的腳本語句。 接下來,創建一個新的Document(),使用Blob.valueOf(String)將字符串轉換爲Blob,並將該Blob實例化爲Document的主體。 如果您打算編寫一個非常大的文檔,您可能需要考慮寫入其他格式類型或將此處理卸載到遠程系統(EC2?),並讓它及時處理文檔。

我有一些Apex CSV實用程序已經寫入,如果你需要它們。

+0

我偶然發現了這篇文章,並且通過進一步的谷歌搜索,我發現salesforce現在有一個本地escapeCsv()方法: https://developer.salesforce.com/releases/release/related/New+String+Methods – martin 2015-07-07 02:33:29