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

如何使用ApachePOI将xls转换为集合?

陈欣荣
2023-03-14

我想使用@RunFor(Parameterized.class)和

@Parameterized.Parameters
public static Collection<String[]> testdata() {
    return Arrays.asList(new String[][] {
            { "inParam1", "inPAram2", "expectedOut1", "expectedOut2" } 
        });
}

实际的测试数据应由业务人员通过Excel创建。

是否有一种简单/通用的方法可以将Apache POI XSSFSheet获取到指定的字符串数组集合?

如果是:有人能提供一个例子吗?

我发现了这个问题:使用Apache POI在TestNG中进行Datadriven测试---但我希望是一种3线测试;-)

共有1个答案

皇甫鸿远
2023-03-14

这不是一个3行程序,但假设我正确理解了您的需求,您可以执行以下操作:

 Sheet sheet = workbook.getSheetAt(0);
 DataFormatter fmt = new DataFormatter();
 List<List<String>> cellData = new ArrayList<List<String>>();
 for (Row r : sheet) {
    List<String> rd = new ArrayList<String>();
    for (Cell c : r) {
       rd.add(fmt.formatCellValue(c));
    }
    cellData.add(rd);
 }

这将在任何时候为所有定义的行和单元格生成一个字符串列表,每行一个列表,该列表中每个单元格一个字符串。您可以相当轻松地从列表切换到数组

如果需要更多地控制哪些单元格/行包括/不包括,包括空单元格/行,请参阅文档中的迭代指南

 类似资料:
  • 问题内容: 谁能指导我如何使用PHP将XLS转换为CSV? 我有一个包含文档列表的Excel电子表格,我想使用PHP将其转换为CSV格式。 问题答案: 也许您可以开始使用PHP阅读XLS。 然后,使用主逻辑输出所需的内容(您的情况下为csv)。 祝好运,

  • 问题内容: 有谁知道是否有可以让我将XLS最好转换为JSON的应用程序? 我还将为CSV转换程序做准备,因为如果周围什么都没有的话,我可能最终不得不写自己。 问题答案: 这对我来说效果很好,不需要上传文件: https://github.com/cparker15/csv-to- json?files=1

  • 问题内容: 我已阅读以下有关通过GoogleDocs将UTF-8编码的(希伯来语)XLS转换为CSV的建议,并且可以正常工作。当我在Sublime2中使用utf8编码打开CSV时,希伯来语正确显示。但是,当我尝试使用SQLyog将数据导入到我的数据库中时,在确保将我的目标表和导入定义都设置为UTF8之后,我变得很乱,例如: ⒚椔 我哪里出问题了? 问题答案: 从excel导出到csv的最佳方法是:

  • 问题内容: 这里有人知道在Java中将csv文件转换为xls或xlsx文件的任何快速,干净的方法吗? 我已经有一些东西可以管理csv文件,并且我需要与其他程序具有额外的兼容性。 除了包名称外,示例代码始终受到人们的赞赏。 非常感谢, 贾斯汀 到目前为止,这是我的代码。我需要从行中删除返回值(“ \ n”)。我的某些单元格包含多行信息(一个列表),因此我可以在csv中使用“ \ n”来表示 单元格中

  • Set似乎是一种创建具有保证唯一元素的数组的好方法,但它不提供任何获取属性的好方法,除了generator[Set].values,它以的尴尬方式调用。 如果您可以在集合上调用和类似的函数,那么这是可以的。但你也不能那样做。 我尝试过,但似乎只转换了类数组(NodeList和TypedArrays?)对象设置为数组。再试一次:对Sets不起作用,set.prototype没有类似的静态方法。 那么

  • 在数据库中,我有以下JSON字符串: 我在AdditionalData中得到上面的JSON字符串(这是我代码中的一个属性)。 但是我需要将JSON列表转换为JSON。我没有任何特定的模型将列表映射为JSON格式。该JSON字符串可能不同(嵌套或更嵌套)。 基本上,我需要将JSON字符串转换为JSON数据,我需要在POSTMAN中显示