Java 读取Excel表格

Java 读取Excel表格,java,excel,Java,Excel,尝试使用java poi读取excel表格,但我无法正确读取。我没有在excel文件中插入任何表格。它可以工作,但我在excel中添加了任何表格。它无法工作 这是快照代码 public static void excelreder() { try { DemoJFileChooser PATH = new DemoJFileChooser(); FileInputStream file = new FileInputStream(new File(PATH

尝试使用java poi读取excel表格,但我无法正确读取。我没有在excel文件中插入任何表格。它可以工作,但我在excel中添加了任何表格。它无法工作 这是快照代码

public static void excelreder() {
    try {
        DemoJFileChooser PATH = new DemoJFileChooser();
        FileInputStream file = new FileInputStream(new File(PATH.act()));

        // Create Workbook instance holding reference to .xlsx file
        @SuppressWarnings("resource")
        XSSFWorkbook workbook = new XSSFWorkbook(file);

        // Get first/desired sheet from the workbook
        XSSFSheet sheet = workbook.getSheetAt(0);

        // Iterate through each rows one by one
        Iterator<Row> rowIterator = sheet.iterator();
        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();
            // For each row, iterate through all the columns
            Iterator<Cell> cellIterator = row.cellIterator();
            String test = "";
            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();
                // Check the cell type and format accordingly
                switch (cell.getCellType()) {

                case NUMERIC:
                    // System.out.print(cell.getNumericCellValue() );
                    if (!(String.valueOf(cell.getNumericCellValue()) == ""))
                        test = test + "," + String.valueOf((cell.getNumericCellValue()));

                    // String myDateStr = new
                    // SimpleDateFormat("dd-MM-yyyy").format(cell.getNumericCellValue());

                    break;
                case STRING:
                    if (!((cell.getStringCellValue()) == ""))
                        // System.out.print(cell.getStringCellValue() );
                        test = test + "," + cell.getStringCellValue();
                    break;
                default:
                    break;
                }

            }
publicstaticvoidexcelleder(){
试一试{
DemoJFileChooser路径=新建DemoJFileChooser();
FileInputStream文件=新的FileInputStream(新文件(PATH.act());
//创建包含对.xlsx文件引用的工作簿实例
@抑制警告(“资源”)
XSSF工作簿=新XSSF工作簿(文件);
//从工作簿中获取第一张/所需的工作表
XSSFSheet sheet=workbook.getSheetAt(0);
//逐个遍历每一行
迭代器rowIterator=sheet.Iterator();
while(roweiterator.hasNext()){
行=行迭代器。下一步();
//对于每一行,遍历所有列
迭代器cellIterator=row.cellIterator();
字符串测试=”;
while(cellIterator.hasNext()){
Cell=cellIterator.next();
//检查相应的单元格类型和格式
开关(cell.getCellType()){
大小写数字:
//System.out.print(cell.getNumericCellValue());
if(!(String.valueOf(cell.getNumericCellValue())==“”)
test=test+“,”+String.valueOf((cell.getNumericCellValue());
//字符串myDateStr=new
//SimpleDataFormat(“dd-MM-yyyy”).format(cell.getNumericCellValue());
打破
大小写字符串:
如果(!((cell.getStringCellValue())==“”)
//System.out.print(cell.getStringCellValue());
test=test+”,“+cell.getStringCellValue();
打破
违约:
打破
}
}

我尝试了你的代码。对我来说效果很好。:-)发生了什么样的错误?