当前位置: 首页 > 知识库问答 >
问题:

从xlsx文件中提取数据时发生Getting File Not Found异常

潘文乐
2023-03-14

我的excel文件中有3张工作表。我正在尝试使用TestNG的@DataProvider注释获取数据。在getTestData()方法中,我传递工作表的名称。通过FileInputStream,读取文件的路径。即使我正在打印文件路径,它也会正确显示。生成路径打印为-C:\Users\Gaurav Pratap Singh\eclipse workspace\SampleTestFrameworkGPS\src\main\java\com\crm\qa\testData\FreeCRMTestData。xlsx。唯一的问题是目录名中的空间。但我还有一个文件,即config。属性,它完全是从同一目录中提取的。

package com.crm.qa.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import com.crm.qa.base.TestBase;

public class TestUtil extends TestBase {



    public static String TESTDATA_SHEET_PATH = System.getProperty("user.dir")
    + "\\src\\main\\java\\com\\crm\\qa\\testData\\FreeCRMTestData.xlsx";
    
    public static Workbook book;
    html" target="_blank">public static Sheet sheet;

    public static Object[][] getTestData(String sheetName){
        FileInputStream fis = null;

        try {
            fis = new FileInputStream(new File(TESTDATA_SHEET_PATH));
            // File Path printing perfectly
            System.out.println("Sheet path " + TESTDATA_SHEET_PATH);
        } catch (FileNotFoundException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        System.out.println("Sheet path " + TESTDATA_SHEET_PATH);

        try {
            book = WorkbookFactory.create(fis);
        } catch (EncryptedDocumentException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        sheet = book.getSheet(sheetName);

        Object[][] data = new Object[sheet.getLastRowNum()][sheet.getRow(0).getLastCellNum()];

        for (int i = 0; i < sheet.getLastRowNum(); i++) {
            for (int k = 0; k < sheet.getRow(0).getLastCellNum(); k++) {
                data[i][k] = sheet.getRow(i + 1).getCell(k).toString();
            }
        }
        return data;

    }

}

共有1个答案

平嘉熙
2023-03-14

这是因为路径,文件夹Gaurav Pratap Singh在其中有空格。我换了一个没有任何空间的驱动器,它工作了。我能够访问配置文件,这真是太奇怪了。同一目录中的属性文件。

 类似资料:
  • 我一直在开发一个android应用程序,在这个应用程序中,我必须打开.xls和.xlsx文件以便进一步实现。在.xls的情况下,一切工作正常,但当我尝试打开.xls x文件时,它给了我异常。下面是我的代码,请帮助我解决这些异常 我正在使用的JAR: null

  • 问题内容: 我试图提取具有特定文本文件之间的文本: 然后将其转储到文本文件中,以便 谢谢您的帮助。 问题答案: 这对我来说足够好了。您的样本数据在一个名为“ data.txt”的文件中,输出将进入“ result.txt”

  • 我正在寻找一个python库,能够提取一个mp3的实际数据(实际的声音/声音我们听)。我希望能够使用数据与另一个mp3文件进行比较,而不影响比特率/编码的过程。我该怎么做?

  • 我已经写了功能文件,我已经使用了示例关键字。其中一个输入没有传递到输入字段。 提供了多个用户名和密码,许多用户应该能够登录到newtours 场景大纲:使用凭据登录到帐户 给定用户导航到“ 和用户单击注册按钮 然后用户输入“”名字 然后用户输入“”lastname 和用户输入“”电话 然后用户输入“”emailaddress 和用户输入“”地址 和用户输入“”城市 并且用户进入“”状态 用户输入“

  • 我正在创建一个android应用程序,它以json格式显示从在线API获取的天气数据。为此,我使用的是格森图书馆。 我有以下JSON字符串,我从一个map对象中获得: 它包含以下值: 但是,当我尝试使用该字符串创建另一个贴图对象时,我遇到了一个异常。 异常logcat报告: 通用域名格式。谷歌。格森。JsonSyntaxException:com。谷歌。格森。流动MalformedJsonExce

  • 这就是我的生活。dat文件看起来像我想知道如何从中提取数据,就像我想让它像1::Toy Story(1995)在单独的列中一样。而且我想在没有熊猫的情况下做这件事,numpy有可能吗