извлечь данные из файла .xls - PullRequest
1 голос
/ 02 ноября 2009

Я хочу извлечь данные из файла Excel и сохранить их в базе данных доступа, как это сделать?

Ответы [ 3 ]

4 голосов
/ 02 ноября 2009

Вы можете использовать Java Excel API для извлечения данных. Вы можете найти Javadoc здесь . Существует также руководство программиста по использованию JExcel

4 голосов
/ 02 ноября 2009

Библиотека Apache POI обеспечивает доступ к форматам Microsoft Office, включая Excel.

Для вставки в базу данных вам понадобится JDBC (и, возможно, дополнительные каркасы, если вы хотите ORM). Вот руководство по на JDBC, чтобы вы начали. Вы можете проверить Hibernate как полезную Java ORM.

1 голос
/ 09 ноября 2009

Во-первых, вам действительно нужна Java для этого? Само программное обеспечение MSAccess предоставляет функции для импорта данных из файла Excel. Это гораздо проще сделать.

Если вам действительно нужна Java для этого, вам нужно понять, что на самом деле это двухэтапная задача:

  1. Извлечение данных из Excel в объекты Java (например, List<List<String>> или List<Data>).
  2. Сохранение данных из этих объектов Java в MSAccess.

Для шага 1 вам нужен Java API, который способен извлекать данные из файла Excel. Какой из них использовать, зависит от фактического формата файла.

Если это файл .xls, у вас есть, как правило, два варианта: вышеупомянутый Apache POI HSSF и JExcelAPI. Известно, что POI HSSF является перебором памяти, а его API немного непрозрачен в использовании. JExcelAPI Энди Хана - лучший выбор.

Если это файл .xlsx (последний x указывает, что он находится в формате OpenXML вместо двоичного формата), то рядом с вышеупомянутым Apache POI XSSF также есть выбор: используйте OpenXML4J , что, как правило, лучше, чем POI XSSF, по тем же причинам, что и POI HSSF.

Теперь для шага 2 вам нужен Java API, который может сохранять данные в файл MSAccess. Для этого вы можете использовать API JDBC в сочетании со встроенным драйвером моста JDBC-ODBC. Хорошей отправной точкой является учебник JDBC .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...