Другое событие 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));
}
AFAIK там еще не являются никакими xlsx-библиотеками, доступными. Но существуют некоторые для старого xls:
Одна библиотека jxls, который внутренне уже использует упомянутый ПОИ .
2 других ссылки: Handle библиотеки Java файлов , Excel, чтобы читать и записать файлы документов .
Excel XLSЯ должен был сделать это в.NET, и я не мог найти API там. Мое решение состояло в том, чтобы разархивировать .xlsx и погружение прямо в управление XML. Это не настолько плохо, как только Вы создаете свои классы помощника и такой.
существуют некоторые "глюки" как узлы, все должны быть отсортированы согласно способу, которым Excel ожидает их, которых я не нашел в официальных документах. Excel имеет свое собственное добавление метки времени даты, таким образом, необходимо будет сделать формулу преобразования.
Этот, возможно, работает на Вас, это может чтение-запись Excel 2007 xlsx файл. SmartXLS
Я не очень доволен ни одной из опций, таким образом, я закончил тем, что запросил файл в Excel 97 formate. ПОИ работает отлично для этого. Спасибо все для справки.
Вы посмотрели плохо запутываемый API?
Nevermind:
HSSF является чистой реализацией Java Проекта ПОИ Excel '97 (-2007) формат файла. Это не поддерживает новый Excel 2007 .xlsx OOXML формат файла, который не является базирующимся OLE2.
Вы могли бы рассмотреть использование мост JDBC-ODBC вместо этого.
Я не знаю, актуально ли это для Excel 2007, но для более ранних версий я использую JExcelAPI
Возможно, немного поздно, но бета-версия POI теперь поддерживает xlsx.
Apache POI 3.5 добавлена поддержка всего OOXML (docx, xlsx и т. Д.)
См. Подпроект XSSF