ΠΠ°ΡΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΡΡΡ ΠΏΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ 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();