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 у вашому проекті Java на основі Maven ще простіше. Все, що вам потрібно, це додати наступну залежність у ваш 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. Розробники можуть легко додавати нові робочі аркуші до колекції з наявного екземпляра Workbook.
Створіть новий файл 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. Він підтримує малювання фігур за допомогою інструментів малювання 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 через 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);