Считайте файл XLSX в [закрытом] Java

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

32
задан Matthias Braun 6 November 2015 в 16:12
поделиться

8 ответов

AFAIK там еще не являются никакими xlsx-библиотеками, доступными. Но существуют некоторые для старого xls:

Одна библиотека jxls, который внутренне уже использует упомянутый ПОИ .

2 других ссылки: Handle библиотеки Java файлов , Excel, чтобы читать и записать файлы документов .

Excel XLS
5
ответ дан Anthony O. 27 November 2019 в 20:12
поделиться

Я должен был сделать это в.NET, и я не мог найти API там. Мое решение состояло в том, чтобы разархивировать .xlsx и погружение прямо в управление XML. Это не настолько плохо, как только Вы создаете свои классы помощника и такой.

существуют некоторые "глюки" как узлы, все должны быть отсортированы согласно способу, которым Excel ожидает их, которых я не нашел в официальных документах. Excel имеет свое собственное добавление метки времени даты, таким образом, необходимо будет сделать формулу преобразования.

5
ответ дан hova 27 November 2019 в 20:12
поделиться

Этот, возможно, работает на Вас, это может чтение-запись Excel 2007 xlsx файл. SmartXLS

3
ответ дан 27 November 2019 в 20:12
поделиться

Я не очень доволен ни одной из опций, таким образом, я закончил тем, что запросил файл в Excel 97 formate. ПОИ работает отлично для этого. Спасибо все для справки.

2
ответ дан MrPortico 27 November 2019 в 20:12
поделиться

Вы посмотрели плохо запутываемый API?

Nevermind:

HSSF является чистой реализацией Java Проекта ПОИ Excel '97 (-2007) формат файла. Это не поддерживает новый Excel 2007 .xlsx OOXML формат файла, который не является базирующимся OLE2.

Вы могли бы рассмотреть использование мост JDBC-ODBC вместо этого.

1
ответ дан Josh 27 November 2019 в 20:12
поделиться

Я не знаю, актуально ли это для Excel 2007, но для более ранних версий я использую JExcelAPI

1
ответ дан NR. 27 November 2019 в 20:12
поделиться

Возможно, немного поздно, но бета-версия POI теперь поддерживает xlsx.

5
ответ дан 27 November 2019 в 20:12
поделиться

Apache POI 3.5 добавлена ​​поддержка всего OOXML (docx, xlsx и т. Д.)

См. Подпроект XSSF

50
ответ дан 27 November 2019 в 20:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: