Создание файла Excel в коде Apex - PullRequest
0 голосов
/ 29 декабря 2011

Мне интересно, возможно ли создать файл Excel или CSV в коде Apex (как вложение)? в настоящее время я вижу только то, что это работает со страницей VF, но я хочу сделать это в коде Apex, не используя страницу VF, я не вижу никаких вариантов.

Любая помощь приветствуется.

Спасибо

1 Ответ

3 голосов
/ 30 декабря 2011

К сожалению, в Apex нет собственной библиотеки CSV или API для обработки файлов CSV.Конечно, это не документы XLS, хотя вы можете использовать собственные библиотеки DOM XML для создания XML-документа, дружественного к Excel.

Чтобы написать CSV, это должно быть довольно просто;в основном это большая огромная строка с возвратом каретки и / или переводом строки в конце каждой полной записи записи.Вам нужно будет тщательно управлять экранированием значения свойства, используя String.replaceAll('\','\''); и т. Д., Что, в свою очередь, очень плохо подойдет для ваших операторов скрипта.Затем создайте новый Document(), преобразуйте вашу строку в BLOB-объект, используя Blob.valueOf(String), и создайте экземпляр этого BLOB-объекта в качестве тела документа.Если вы планируете писать очень большой документ, возможно, вы захотите записать в какой-либо другой тип формата или перенести эту обработку на удаленную систему (EC2?) И позволить ей своевременно ответить документом.

У меня уже есть некоторые утилиты Apex CSV, если они вам нужны.

...