有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在java中读取excel时,变量为空

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

我用这个链接作为例子: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) 个答案

  1. # 1 楼答案

    您试图打开的文件(Test.xlsx)使用了错误的类。扩展一下,我可以假设这是一个Excel 2007或更高版本的文档。Excel 2003使用HSSFWorkbook,Excel 2007或更高版本使用XSSFWorkbook。查看下载包附带的Apache POI文档。它包含关于如何实现这一点的基本教程

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

    试试这个link。不久前,我为一个关于ApachePOI的简单教程创建了一个小演示。有一个Excel的例子,你可以效仿。该位置包含源代码和一组幻灯片,您应该能够轻松地阅读