Существует ли элегантный способ создания электронных таблиц Excel из списка <POJO>?(ДЖАВА) - PullRequest
1 голос
/ 16 июля 2010

В Java, есть ли элегантный способ создания электронных таблиц Excel из списка?

Ответы [ 3 ]

2 голосов
/ 16 июля 2010

Существует два возможных и радикально разных подхода:

  • Записать файл CSV. Это через запятую, вы просто записываете свои поля, разделенные запятыми, в файл с расширением .csv. Excel может читать это очень хорошо, и это очень просто.

  • Используйте Apache / Jakarta POI , библиотеку, для записи отлично отформатированных, совместимых с Office файлов Excel (Excel 95, 2003, ... различных стандартов). Это займет немного больше работы.

1 голос
/ 16 июля 2010

Как показывает предыдущий ответ, CSV - это простой способ сделать это, но Excel имеет привычку выводить типы данных - например, если строка выглядит как число, она будет отформатирована как число, даже если выдважды процитировал это.Если вы хотите больше контроля, вы можете попробовать сгенерировать Excel XML, который в вашем случае может использовать шаблон, и сгенерировать таблицу, которая немного похожа на таблицу HTML.См. Пример простого Excel XML-документа .

0 голосов
/ 25 ноября 2015

Да. С sep4j вы можете сделать это в одну строку после определения заголовка с помощью HashMap.

    Collection<User> users = Arrays.asList(user1, user2);
    LinkedHashMap<String, String> headerMap = new LinkedHashMap<String, String>();
    headerMap.put("userId", "User Id");  //"userId" is a property of User class.
                        // "User Id" will be the column header in the excel.
    headerMap.put("firstName", "First Name");
    headerMap.put("lastName", "Last Name");

    ExcelUtils.save(headerMap, users, outputStream);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...