Apache POI HSSF
Java библиотека за Microsoft Excel бинарни файлове
Java API с отворен код позволява четене, запис и конвертиране на Excel XLS електронни таблици.
Apache POI HSSF е чиста Java реализация на файловия формат Excel '97(-2007) (BIFF8). Безплатният API с отворен код предоставя функции за създаване, четене, модифициране и писане на Excel XLS електронни таблици. Разработчиците, които се интересуват само от четене на данни от електронни таблици, могат да използват API за модел на събития, за да изпълнят своите нужди. За да модифицирате данни от електронни таблици, може да се използва API на потребителския модел. Важно е да знаете, че системата на потребителския модел има по-голям отпечатък на паметта от потребителския модел на събития от ниско ниво, но има основното предимство, че е много по-лесна за работа.
Apache POI HSSF осигурява голяма поддръжка за допълнителни функции на Excel като работа с листове и формули, създаване на стилове на клетки чрез попълване на цветове и граници, шрифтове, горни и долни колонтитули, форми, валидации на данни, изображения, хипервръзки и много други.
Първи стъпки с Apache POI HSSF
На първо място, трябва да имате инсталиран Java Development Kit (JDK) на вашата система. Ако вече го имате, продължете към страницата за изтегляне на Apache POI, за да получите най-новата стабилна версия в архив. Извлечете съдържанието на ZIP файла във всяка директория, откъдето необходимите библиотеки могат да бъдат свързани към вашата Java програма. Това е всичко!
Позоваването на Apache POI във вашия базиран на Maven Java проект е още по-лесно. Всичко, от което се нуждаете, е да добавите следната зависимост във вашия pom.xml и да оставите вашата IDE да извлича и препраща към Apache POI Jar файловете.
Apache POI Maven зависимост
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>4.0.0</version>
</dependency>
Създайте работна книга на Excel и добавете листове чрез Java API
Apache POI HSSF библиотека с отворен код позволява на разработчиците на софтуер да създадат нова работна книга на Microsoft Excel във файлов формат XLS. Разработчиците могат лесно да добавят нови работни листове към колекцията от съществуващ екземпляр на работна книга.
Създайте нов XLS файл
// create a new workbook
Workbook workbook = new HSSFWorkbook();
OutputStream outputStream = new FileOutputStream("CreateXls.xls");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set cell value
cell.setCellValue("File Format Developer Guide");
// save file
workbook.write(outputStream);
Java API за четене и запис в съществуващ Excel файл
Apache POI HSSF позволява на разработчиците на софтуер да имат достъп и да четат данни от съществуващата работна книга на Microsoft Excel. Четенето във файл е много просто, първо създайте екземпляр на работна книга от работен лист на Excel и стигнете до желания лист. След това увеличете номера на реда и повторете всички клетки в ред. Повторете тези стъпки, докато не бъдат прочетени всички данни. Apache POI HSSF също предоставя функции за модифициране на съществуващ Excel файл.
Прочетете съдържанието на клетката чрез Java
// open xls file
InputStream inputStream = new FileInputStream("document.xls");
Workbook workbook = WorkbookFactory.create(inputStream);
// get sheet
Sheet sheet = workbook.getSheetAt(0);
// get row
Row row = sheet.getRow(1);
// get cell
Cell cell = row.getCell(1);
// display data
System.out.println(cell);
Начертайте форми и добавете изображения към електронна таблица на Excel
Apache POI-HSSF предоставя функции за рисуване на фигури в Excel Spreadsheet. Той поддържа чертане на форми с помощта на инструменти за рисуване на Microsoft Office. Начертайте различни фигури като овал, линия, правоъгълник и задайте други стилове на фигури. В Apache POI изображенията са част от чертежа, поддържайки PNG, JPG и DIB типове изображения в момента.
Начертайте правоъгълник в XLS чрез Java
// create a new workbook
Workbook workbook = new HSSFWorkbook();
OutputStream outputStream = new FileOutputStream("DrawShape.xls");
// create a new sheet
Sheet sheet = workbook.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// create rectangle shape
HSSFPatriarch patriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();
HSSFClientAnchor a = new HSSFClientAnchor(0, 0, 1023, 254, (short) 1, 0, (short) 1, 0);
HSSFSimpleShape shape = patriarch.createSimpleShape(a);
shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_RECTANGLE);
// save file
workbook.write(outputStream);
Обработка на шрифтове и обединяване на клетки на XLS електронни таблици
Apache POI-HSSF предоставя методи, които позволяват на Java програмистите да обработват шрифтове в електронни таблици на Excel. Можем да създадем шрифта, да зададем цвета, размера и т.н. Шрифтът е интерфейс, който предоставя методи за работа с шрифта. Apache POI-HSSF също позволява на разработчиците да обединяват клетки в една клетка. За да направи това, той предоставя методи, които приемат клетъчните индекси като аргумент и обединяват клетките в една голяма клетка.
Задайте шрифт за XLS Spreadsheet чрез Java
// create a new XLS file
OutputStream outfile = new FileOutputStream("SetFont.xls");
Workbook wb = new HSSFWorkbook();
// create a new sheet
Sheet sheet = wb.createSheet("Apache POI XSSF");
// create a new row
Row row = sheet.createRow(1);
// create a new cell
Cell cell = row.createCell(1);
// set style
CellStyle style = wb.createCellStyle();
// set text
cell.setCellValue("File Format Developer Guide");
// set font settings
Font font = wb.createFont();
font.setFontHeightInPoints((short) 14);
font.setFontName("Arial");
font.setItalic(true);
font.setBold(true);
// apply font
style.setFont(font);
cell.setCellStyle(style);
// save
wb.write(outfile);