首页 > 解决方案 > 从网页读取数据并在excel中写入

问题描述

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

在此处输入图像描述 在此处输入图像描述

我认为它在我已经在 global.but 中声明所需数据的 for 中得到了压倒一切。但由于问题仍然存在,所以没有用。

请在下面的代码中找到并让我现在有任何问题。

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());

标签: javaspringhibernate

解决方案


据我了解,您的问题是原始表格上的最后一个值正在打印在 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 spreadhseet,您应该使用一个循环来遍历所有现有行,并用所需的值填充它。例子:

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)
    }

推荐阅读