我有一个存储在变量中的数据,然后我想将数据写入excel文件(.xlsx)。 (即)我使用硒等自动化测试工具从网页中获取数据,并将其存储在要写入xlsx文件的变量中
经过大量的google搜索,我发现许多用户使用列表或对象将其写入.xlsx文件。
我创建了一个列表,并将变量添加到该列表中,并使用循环语句(for循环)检查了我的数据是否通过打印而存储在列表中。
然后我创建了 XSSFWorkbook 和 XSSFSheet 和 XSSFRow 和 XSSFCell 来写入数据。 我通过在单元格中使用 setCellValue 方法来编写单元格。
我的代码成功在其中创建了一个xlsx文件和表格 但是执行后,我无法在其中找到任何数据。
源代码:
ArrayList<String> head = new ArrayList<String>();
head.add("Register Number");
head.add(subject1);
head.add(subject2); //subject1 and subject2 are variable i created
System.out.println(head.get(1)); //To check if my list has value
XSSFWorkbook workbook = new XSSFWorkbook();
FileOutputStream fileOut = new FileOutputStream("/home/st.xlsx");
for (int i = 0; i < head.size(); i++)
{
XSSFRow Row = sheet1.createRow(1);
XSSFCell cell = Row.createCell(1);
cell.setCellValue(head.get(1));
sheet1.autoSizeColumn(1);
}
workbook.write(fileOut);
fileOut.close();
我希望代码将数据添加到文件中。
主要是 在执行过程中,当我尝试打开.xlsx文件时,其中包含数据。
但是 完成执行后,我得到了空的xlsx文件。
我不知道为什么会得到这个,而我的代码有什么问题呢?
谢谢!
答案 0 :(得分:0)
ArrayList<String> head = new ArrayList<String>();
head.add("Register Number");
head.add(subject1);
head.add(subject2); // subject1 and subject2 are variable i created
System.out.println(head.get(0)); // To check if my list has value
System.out.println(head.get(1)); // To check if my list has value
System.out.println(head.get(2)); // To check if my list has value
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet1 = wb.createSheet("Sheet1");
for (int r = 0; r < head.size(); r++)
{
XSSFRow row = sheet1.createRow(r);
XSSFCell cell = row.createCell(0);
cell.setCellValue(head.get(r));
sheet1.autoSizeColumn(0);
}
// Write this workbook to a FileOutputStream.
FileOutputStream fileOut = new FileOutputStream("/home/st.xlsx");
workbook.write(fileOut);
fileOut.flush();
fileOut.close();