簡體   English   中英

使用Java Apache POI從只讀xlsm文件讀取數據

[英]Read data from read only xlsm file using Java Apache POI

我正在嘗試使用java apache poi從只讀xlsm讀取數據,但是當我使用XSSF工作簿時,它似乎無法訪問該文件,而HSSF工作簿僅適用於xls文件。 我的代碼如下所示:

try {
                FileInputStream file = new FileInputStream(new File("file.xlsm"));
                System.out.println("found file");
                XSSFWorkbook workbook = new XSSFWorkbook(file);
                System.out.println("in workbook");
                XSSFSheet sheet = workbook.getSheet("Shipments");
                System.out.println("got sheet");

該代碼永遠不會到達“在工作簿中”的打印行,我不確定為什么。 請幫忙!

4.0.0版具有一個工作簿工廠類,該工廠類帶有布爾“只讀”參數。 因此,要以只讀模式打開...

XSSFWorkbook nextWorkbook = XSSFWorkbookFactory.createWorkbook(myFile, true);

我復制了您的代碼並給出了文件的絕對路徑 ,並且能夠得到預期的結果。

FileInputStream file = new FileInputStream(new File("C:\\Users\\user\\Desktop\\filet.xlsm"));
System.out.println("found file");
XSSFWorkbook workbook = new XSSFWorkbook(file);
System.out.println("in workbook");
XSSFSheet sheet = workbook.getSheet("Shipments");
System.out.println("got sheet");

您的引用似乎有問題。 因此,在嘗試創建文件資源時,請檢查引用文件的方式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM