gpt4 book ai didi

java - 从网页读取数据并写入excel

转载 作者:行者123 更新时间:2023-12-02 09:44:54 24 4
gpt4 key购买 nike

我正在尝试从网页读取数据并写入Excel。网页中包含两个表,这些表值被提取并写入Excel。当提取并打印它时,一切正常。但它假设将其写入Excel最后一行数据仅写入所有单元格吗?

enter image description here enter image description here

我认为它会被覆盖,因为我已经在全局中声明了所需的数据。但没有用,因为问题仍然相同。

请找出下面代码中的任何问题并告诉我。

Document doc=Jsoup.parse(singleFile, "UTF-8", "http://example.com/");
Element table=doc.select("table").get(0);
Element tabl=doc.select("table").get(1);
Elements rows1=tabl.select("tr");


Node Avg = null;
for(int i=1;i< rows1.size();i++){
Element row1=rows1.get(i);
Elements col=row1.select("td");

String Name =col.get(0).text();
Node Max=col.get(2).childNode(0);
Avg=col.get(3).childNode(0);

System.out.println("Name:"+Name+ ": Avg:"+Avg);

}



FileInputStream fis = new FileInputStream(new File("C:/Users/mramasa7/Desktop/metrics/GUX_BSL Metrics Data_JUN_2019.xlsx"));
Workbook workbook = new XSSFWorkbook(fis);
Sheet sheet = workbook.getSheetAt(0);



Cell cell=null;

cell=sheet.getRow(34).getCell(k);
cell.setCellValue(Avg.toString());

最佳答案

据我了解,您的问题是原始表格上的最后一个值正在 Excel 电子表格的每个单元格中打印。

在电子表格上写入的代码如下:

cell.setCellValue(Avg.toString());

您尚未将这段代码添加到为数据源上的每个条目创建单元格的循环中。您应该在创建行时填充行。使用 Apache POI 示例:

public byte[] export(List<String> exportList) throws Exception{

Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Export");
for(int i=0; i< exportList.size(); i++) {
Row row = sheet.createRow(i);
row.createCell(0)
.setCellValue(exportList.get(i));
}
ByteArrayOutputStream bos = new ByteArrayOutputStream();
workbook.write(bos);
bos.close();
return bos.toByteArray();
}

要编辑现有的 Excel 电子表格,您应该使用一个循环来遍历所有现有行,并用所需的值填充它。示例:

for(int i=0; i< sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
row.getCell(0)
.setCellValue(exportList.get(i)); // Insert the number of the cell herer (column)
}

关于java - 从网页读取数据并写入excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56738149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com