ПредишенСледващото

Работа с Excel в Ява през Apache пой

В тази статия ще научите за писането и четенето на данни от Excel файлове в Java (да се разглежда като XLS. И XLSX формат). Ние ще използваме Apache POI библиотека и да се съсредоточи върху работата с низ видове и дата. Работи с най-новите случва доста сложно. Позволете ми да ви напомня, че работата с цифрите, които вече сме обсъдени в друга статия.

Библиотека пой-XX.jar можете да използвате всички стари (XLS. Док. PPT) Microsoft Office файлове към новата (XLSX. Docx. PPTX), ще трябва пой-OOXML-XX.jar. Важно е да се разбере какво е това, което се отнася, защото използваните класове са различни, също - за по-големи увеличения е HSSFWorkbook. и за нов - XSSFWorkbook.

Получаване: зареждане на библиотеки и зависимости

Разбира се, има много библиотеки с отворен код, които ви позволяват да работите с Excel файлове в Java, например, JXL, но ние ще използваме като най-широката API, както и най-популярните - Apache POI. За да го използвате, трябва да изтеглите буркан файлове и да ги добавите към Eclipse ръчно, или можете да го оставите да Maven.

Във втория случай, вие просто трябва да добавите следните две зависимости:

Най-удобният в Maven - той ще се изтегли не само за посочената poi.jar и пой-ooxml.jar. но всички буркан файлове, които се използват вътрешно, т.е. XMLBeans-2.6.0.jar. Stax-API-1.0.1.jar. пой-OOXML-схеми-3.12.jar и мери-кодек-1.9.jar.

Ако ръчно добавяне на библиотеката - не забравяйте за посочените по-горе файлове. Изтегляне на всички възможно от тук. Не забравяйте - ако ще изтегли само пой-XX.jar. след това кода си компилира без грешки, но след това пада java.lang.NoClassDefFoundError: орг / Apache / XMLBeans / XmlObject. както отвътре ще се нарича xmlbeans.jar.

В този пример, ние пише във файла XLS следните данни: първата клетка - низ с името, а вторият - от датата на раждането. Ето и инструкции стъпка по стъпка:

  • Създаване на обект HSSFWorkBook;
  • Създаване на лист с помощта на обекта е създаден в предишната стъпка, createSheet ();
  • За да създадете низ лист с помощта createRow ();
  • създаване на клетъчна линия - createCell ();
  • Задаването на клетка стойност чрез setCellValue ();
  • Пишем работната книга във файла чрез FileOutputStream;
  • Затворете работната книга. причинявайки близо ().

За да напишете низ или число, което е достатъчно, но да записва датата, което трябва да направим нещо друго:

  • Създаване DateFormat;
  • Създаване CellStyle;
  • Запис DateFormat в CellStyle;
  • Запис CellStyle клетката;
  • Сега в тази клетка може да се запише чрез Дата обектът е един и същ setCellValue;
  • Към днешна дата се вписват в клетка, трябва да добавите собственост колона се преоразмерява автоматично: sheet.autoSizeColumn (1).

Всичко това заедно ще изглежда така:

Сега мислим за новосъздадения файл, който записахме там.

  • Първо, създаване HSSFWorkBook. прехвърляха FileInputStream конструктора;
  • Лист, минаваща getSheet () си номер или име;
  • Ние се получи низ използване getRow ();
  • Получават клетка използване getCell ();
  • Научете вида на клетката, използвайки я getCellType ();
  • В зависимост от вида на клетката, прочетете неговите ценности, използвайки getStringCellValue (). getNumericCellValue () или getDateCellValue ();
  • Затворете работната книга с помощта на края ().

Позволете ми да ви напомня, че магазините Excel дати като номера, т.е. клетъчен тип, все още ще CELL_TYPE_NUMERIC.

В кода на форма, тя ще изглежда по следния начин:

В заключение

Свързани статии

Подкрепете проекта - споделете линка, благодаря!