在java中读取excel,变量是空的

时间:2014-11-03 18:58:41

标签: java excel netbeans return xlsx

我尝试阅读这个excel文件:Test.xlsx,为了做到这一点,我使用了我在互联网上找到的一个例子,但是

我使用此链接作为示例:http://howtodoinjava.com/2013/06/19/readingwriting-excel-files-in-java-poi-tutorial/

它不起作用。 我复制了文件的url,因此没有错误。 每当我运行它时,它只会显示错误:[] 当我调试它时,它向我显示listsize = 0

我应该改变什么?

   ArrayList<String> list = new ArrayList<String>();


   @Override

   public List<String> getExcel(){

    try {
        FileInputStream file = new FileInputStream(new File("C:\\Users\\user\\Documents\\Test.xlsx"));


        //Create Workbook instance holding reference to .xlsx file 
        HSSFWorkbook workbook = new HSSFWorkbook(file);

        //Get first/desired sheet from the workbook 
        HSSFSheet sheet = workbook.getSheet("Sheet1");

        //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 

            if (row.getRowNum() <= 7) {
            continue;// skip to read the first 7 row of file
            }


            Iterator<Cell> cellIterator = row.cellIterator();

            while (cellIterator.hasNext()) {
                Cell cell = cellIterator.next();
                list.add(cell.getStringCellValue());
            }
            //System.out.println("");
        }
        file.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

    return list;


}

1 个答案:

答案 0 :(得分:0)

您正在尝试打开的文件使用错误的类(Test.xlsx)。通过扩展,我可以假设这是一个Excel 2007或更高版本的文档。对Excel 2003使用HSSFWorkbook,对Excel 2007或更高版本使用XSSFWorkbook。查看下载的软件包附带的Apache POI文档。它包含有关如何完成此任务的基本教程。

您需要替换'XSSF'等效的所有'HSSF'类。请注意,创建文档部分(即工作簿,工作表等)的方法并不总是相同。

试试这个link。我在一段时间后创建了一个关于Apache POI的简单教程的小型演示。您可以遵循一个Excel示例。该位置包含源代码和一组您应该能够轻松遵循的幻灯片。