繁体   English   中英

从 Java 中预先存在的 Excel 文件中读取数据

[英]Read data from pre-existing Excel file in Java

我在从预先存在的 Excel 文件中读取数据时遇到问题。

文件名的一个例子是“Donors By Last Name - Thu Dec 15 08/20/40 PST 2016.xls”

这是我的方法的样子:

public void addDonorsFF() throws IOException
{
    JTextField a = new JTextField(20);
    Object[] message = {"Enter File Name:", a, "\nIt is best to directly copy paste the file name, including .xls \nYou cannot import Shipping files."};
    int option = JOptionPane.showConfirmDialog(null, message, "Select File", JOptionPane.OK_CANCEL_OPTION);
    if (option == JOptionPane.OK_OPTION)
    {
        String fileName = (String)a.getText();
        FileInputStream file = new FileInputStream(new File(fileName));

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

        //Get sheet from the workbook
        HSSFSheet sheet = workbook.getSheetAt(0);

        for(int i = 1; i < sheet.getPhysicalNumberOfRows(); i++)
        {
            Row row = sheet.getRow(i);

            for(int j = 0; j < row.getPhysicalNumberOfCells(); j++)
            {
                Cell cell = row.getCell(j);

                //Some code that uses the data in the cell and puts it in a "donor" object;
            }
        }
        workbook.close();


    }
}

我知道该文件肯定存在,但是当我运行该程序时,出现此错误:

线程“main”中的异常 java.io.FileNotFoundException: Donors By Last Name - Thu Dec 15 08/20/40 PST 2016.xls(没有这样的文件或目录)

在 java.io.FileInputStream.open0(本机方法)

在 java.io.FileInputStream.open(FileInputStream.java:195)

在 java.io.FileInputStream.(FileInputStream.java:138)

在 Directory.addDonorsFF(Directory.java:115)

在 Driver.main(Driver.java:24)

我希望有一些简单的事情,因为我是初学者,这只是我的头脑。 你有什么建议吗?

你说你的文件在你的桌面上,但你没有在你的文件名中完全限定它可以打开。 这应该类似于“C:\\users\\myname\\desktop\\Donors...”(如果是 Windows)。

根据您输入文件名的方式,它只会在您运行文件应用程序的当前文件夹中查找。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM