Народ помогите справится пишу программу java fч для чтения файлов эксель *.xlsb - вроде нашел нужный класс poi.apache , для работы, читаю XSSFBReader java doc, по этому классу - но вот как работать именно с с каким либо "листом" (копировать значения ячеек. форматировать их ) не совсем понятно, с файлами .xlsx все просто и понятно, а двоичной книгой методов мало, непонятно как сними работать описание методов я бы сказал скудноватое, а мне по сути нужно открыть книгу. найти нужный лист, сделать поиск по ячейкам по условию, и записать в переменную значение, gooole не особо помог
package com.example.pl;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.util.ZipArchiveThresholdInputStream;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.eventusermodel.XSSFBReader;
import org.apache.poi.xssf.eventusermodel.XSSFReader;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFShape;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import javafx.scene.layout.*;
import javafx.geometry.*;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
public class HelloApplication extends Application {
@Override
public void start(Stage stage) throws IOException {
stage.setTitle("PrintLibel");
FlowPane rootNode = new FlowPane(Orientation.VERTICAL, 10, 10);
// Центрировать компоненты на сцене
rootNode.setAlignment(Pos.CENTER);
Scene scene = new Scene(rootNode, 320, 240);
// Установить сцену на платформе
Button ButOnFiles = new Button(" Обработать ");
ButOnFiles.setOnAction((ае) -> {
try {
file();
} catch (Exception e) {
e.printStackTrace();
}
}
);
stage.setScene(scene);
rootNode.getChildren().addAll(ButOnFiles);
stage.show();
}
public static void file() throws Exception, OpenXML4JException {
//инициализируем потоки
OPCPackage pkg = OPCPackage.open("D:/z3.xlsb");
FileOutputStream fileOut = new FileOutputStream("D:/z33.xlsb");
XSSFBReader workBook = new XSSFBReader(pkg);
XSSFBReader.SheetIterator it = (XSSFBReader.SheetIterator) workBook.getSheetsData();
while (it.hasNext()) { //This iterates over all sheets of xlsb file
InputStream is = it.next();
String sheetName = it.getSheetName();
System.out.println(sheetName);
//some processing
}
fileOut.close();