我有一个问题。我为朋友写了一个小程序。我读了一个 .xlsx 文件并更新了它。在 IDE 中它运行良好。但是,如果我构建一个 .jar 并执行它,则会收到错误“您的 InputStream 既不是 OLE2 流,也不是 OOXML 流,或者您没有在类路径/模块路径中提供 poi-ooxml*.jar”。
有我的代码摘要:
//Import Excel
public static ImportDaten importExcel() throws IOException {
ImportDaten importDaten = new ImportDaten();
java.util.List<Kunde> kunden = new ArrayList<>();
List<Artikel> artikelList = new ArrayList<>();
DataFormatter dataFormatter = new DataFormatter();
File inputWorkbook = new File("C:/Users/jboeh/OneDrive/Desktop/stammdaten.xlsx");
Workbook workbook = WorkbookFactory.create(inputWorkbook);
//Rechnungsnummer einlesen
Sheet indexSheet = workbook.getSheet("Index");
//read data
workbook.close();
importDaten.setKunden(kunden);
importDaten.setArtikelList(artikelList);
return importDaten;
}
public static void exportExcel() throws IOException {
FileInputStream inputStream = new FileInputStream(new File("C:/Users/jboeh/OneDrive/Desktop/stammdaten.xlsx"));
Workbook workbook = WorkbookFactory.create(inputStream);
Sheet sheetIndex = workbook.getSheet("Index");
Cell zelleRechNr = sheetIndex.getRow(0).createCell(1);
zelleRechNr.setCellValue(rechnung.getRechnungsnr());
Sheet sheetRechnung = workbook.getSheet("Rechnung");
Cell zelleRechnung;
//write Data
inputStream.close();
FileOutputStream outputStream = new FileOutputStream("C:/Users/jboeh/OneDrive/Desktop/stammdaten.xlsx");
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
我希望有人能帮助我。
谢谢
米拉
我尝试使用 C# 使用 IronXl 库读取 CSV 文件时遇到相同的错误。 我不知道为什么会抛出此错误,但所有 csv 文件 aws 默认使用 excel microsoft 打开。 我更改为 openoffice calc,我可以使用 C# 打开并读取和写入 CSV 文件...