java - Selenium/Java - 将数据写入 Excel
问题描述
我是 Selenium 的新手,我正在尝试编写代码将数据写入 excel。此代码正在运行。但是,它只写在第二行。当我将“String FieldName1 更改为 3”的值时,它不会写入下一行。我更改了 header = spreadsheet.createRow(0); 的值 到(1)它确实写到了下一行,但是每次我运行测试时都这样做很痛苦。我需要的是每次运行时将数据写入下一行并将“String FieldName1 到 3”的值更改。提前致谢!
硒 > Java > Maven
公共类 testBed2 {
@Test
public void writeExcel() throws IOException{
FileInputStream fis = new FileInputStream("C:\\Users\\ExportExcel.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet spreadsheet = workbook.createSheet( "TestData");
XSSFRow header;
header = spreadsheet.createRow(0);
header.createCell(0).setCellValue("FieldName1");
header.createCell(1).setCellValue("FieldName2");
header.createCell(2).setCellValue("FieldName3");
int rowNumber = 1;
Row row = spreadsheet.getRow(0);
//Column Count
int colCount = row.getLastCellNum();
for (int j = 0; j < colCount; j++) {
System.out.println("Col Count : " + j);
//Row Count
int rowCount = spreadsheet.getLastRowNum() + 1;
for (int i = 0; i < rowCount; i++) {
XSSFRow currentRow = spreadsheet.createRow(rowNumber);
System.out.println("Row Count : " + i);
String FieldName1 = "NAME1";
String FieldName2 = "NAME2";
String FieldName3 = "NAME3";
currentRow.createCell(0).setCellValue(FieldName1);
currentRow.createCell(1).setCellValue(FieldName2);
currentRow.createCell(2).setCellValue(FieldName3);
FileOutputStream fos = new FileOutputStream("C:\\Users\\ExportExcel.xlsx");
workbook.write(fos);
fos.close();
}
}
} }
解决方案
我认为您的代码只写第二行的原因是,您的关闭代码位于 For 循环中。如果您在 {} 末尾编写关闭代码,您将得到正确答案。:)
推荐阅读
- python - 具有掩蔽的深度卷积网络,正确的输入形状
- c# - 使用 .NET MongoDb 驱动程序进行双重查找和展开
- python - Pytorch Siamese NN 与 BERT 用于句子匹配
- java - 是否有从 Luwak 到新 Lucene 版本的迁移文件?
- c# - 如何在 foreach 循环 cc# 中读取 xml 子节点
- python - 计算较长时间段内几个月的平均值
- node.js - 在 nodejs 后端使用 msal 时出错
- javascript - 如何修复那些转换工作 JavaScript Svelte 3 商店的 Typescript-Eslint 警告?
- linux - 绝对值的 sh 脚本
- javascript - 打包js文件导入bpmn图时webpack失败