Java读取Excel文件无法正常工作

时间:2017-08-28 12:00:35

标签: java excel

我目前正在尝试从java中读取excel文件。

因此,我下载了Apache POI,现在尝试使用此代码:

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;

public class Main {
    public static void main(String[] args) {
        try{
            readXLSXFile();
        }catch(IOException e){

        }
    }

    public static void readXLSXFile() throws IOException
    {
        InputStream ExcelFileToRead = new FileInputStream("Desktop/E_WH_2.csv");
        XSSFWorkbook wb = new XSSFWorkbook(ExcelFileToRead);

        XSSFWorkbook test = new XSSFWorkbook();

        XSSFSheet sheet = wb.getSheetAt(0);
        XSSFRow row;
        XSSFCell cell;

        Iterator rows = sheet.rowIterator();

        while (rows.hasNext())
        {
            row=(XSSFRow) rows.next();
            Iterator cells = row.cellIterator();
            while (cells.hasNext())
            {
                cell=(XSSFCell) cells.next();

                if (cell.getCellType() == XSSFCell.CELL_TYPE_STRING)
                {
                    System.out.print(cell.getStringCellValue()+" ");
                }
                else if(cell.getCellType() == XSSFCell.CELL_TYPE_NUMERIC)
                {
                    System.out.print(cell.getNumericCellValue()+" ");
                }
                else
                {
                    //U Can Handel Boolean, Formula, Errors
                }
            }
            System.out.println();
        }

    }
}

Excel文件始终相同,它是一个包含4列的文件,从A1到D1开始,列名称,然后在A2到D4,数据行数未指定。我也尝试了其他代码,但从未使它工作。

使用提供的代码我收到以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
    at Main.readXLSXFile(Main.java:23)
    at Main.main(Main.java:14)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections4.ListValuedMap
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 2 more

任何想法是什么问题或任何人可以为我提供工作代码..?

编辑:刚刚更改了excel文件的路径,现在我不再收到任何错误,但也没有输出全部错误。不能那样,可以......?

Edit2 :注意到我尝试读取.csv文件而不是xls文件。现在将其更改为xls,但它与我的第一次编辑相同,我在控制台中没有任何输出(即使我没有收到错误)

0 个答案:

没有答案
相关问题