【问题标题】:Java read excelJava读取excel
【发布时间】:2012-04-14 18:11:35
【问题描述】:

我正在尝试读取我创建的这个由 4 列和 1 行组成的样本的文件。 下面的代码用于测试我正在使用的 API,即 Apache POI..

package testjavaexcel;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
 *

 */
public class TestJavaExcel {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        try {
            FileInputStream fileInputStream = new FileInputStream("poi-test.xls");
            HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
            HSSFSheet worksheet = workbook.getSheet("POI Worksheet");
            HSSFRow row1 = worksheet.getRow(0);
            HSSFCell cellA1 = row1.getCell((short) 0);
            String a1Val = cellA1.getStringCellValue();
            HSSFCell cellB1 = row1.getCell((short) 1);
            String b1Val = cellB1.getStringCellValue();
            HSSFCell cellC1 = row1.getCell((short) 2);
            boolean c1Val = cellC1.getBooleanCellValue();
            HSSFCell cellD1 = row1.getCell((short) 3);
            Date d1Val = cellD1.getDateCellValue();

            System.out.println("A1: " + a1Val);
            System.out.println("B1: " + b1Val);
            System.out.println("C1: " + c1Val);
            System.out.println("D1: " + d1Val);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

来自“HSSFRow row1 = worksheet.getRow(0);”行的错误输出为:

线程“main”中的异常 java.lang.NullPointerException at testjavaexcel.TestJavaExcel.main(TestJavaExcel.java:28) Java 结果:1

不知道为什么会发生这种情况...看起来很简单。请注意,调用的 .getCell() 方法都被标记为已弃用的方法,但不确定如何在给定 API 的情况下替换它们。

谢谢,

更新:我发现如果 getCell 采用 int 而不是使用短类型的旧版本的新方法。修复了已弃用的警告。其余的仍未解决。我也在使用 poi 3.8 版

标签: java excel apache-poi


【解决方案1】:

检查您的 Excel 书是否必须有一个名为“POI Worksheet”(确切名称)的工作表。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多