簡體   English   中英

如何從 xlsx 讀取單元格

[英]How to read cells from xlsx

我需要從 XLSX 讀取單元格。 我使用Apache POI,但我不知道錯誤是什么。

這是我的代碼:

import java.io.IOException;
import java.io.FileNotFoundException;
import java.io.*;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;

public class miniwolfi {
    public static void main(String[] args) throws IOException {
        File excel = new File("/tmp/table.xlsx");
        FileInputStream fis = new FileInputStream(excel);
        XSSFWorkbook wb = new XSSFWorkbook(fis);
        
        double result = wb.getSheetAt(0).getRow(0).getCell(0).getNumericCellValue();
        System.out.println(result);
        fis.close();
    }
}

和錯誤

java.io.FileNotFoundException: /tmp/таблица.xlsx (No such file or directory)
    at java.base/java.io.FileInputStream.open0(Native Method)
    at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
    at miniwolfi.main(miniwolfi.java:17)

也許錯誤是通往 XLSX 的道路。 我怎樣才能解決這個問題?

先檢查文件是xlsx還是xls文件,你有權限,

你的錯誤是找不到文件

我會把它寫成如下並使用 try-with-resources

        File excel = new File("/tmp/table.xlsx");
        try(FileInputStream fis = new FileInputStream(excel);){
           XSSFWorkbook wb = new XSSFWorkbook(fis);
              
           double result = wb.getSheetAt(0).getRow(0).getCell(0).getNumericCellValue();
           System.out.println(result);
      }

暫無
暫無

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

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