java - 使用 POI 读取数据并将数据写入 Excel - 写入新数据后会从 Excel 中删除原始数据

标签 java excel apache-poi

我首先从 Excel 中读取数据,然后在同一个 Excel 中写入数据。第一次使用效果很好。数据写入后,它会删除我从一开始就存在的原始数据。

代码如下:

 public static void main (String args[]) throws Exception {


    //CODE TO REMOVE UNNECESSARY WARNING
    System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.Jdk14Logger");


    //CALL FIREFOX DRIVER TO OPEN IT
    WebDriver driver = new FirefoxDriver();


    driver.get("https://www.google.co.in/?gfe_rd=cr&ei=VQiAVOeCFavM8gf59IHACg&gws_rd=ssl#q=software+testing");
    java.util.List<WebElement> links = driver.findElements(By.tagName("h3"));
    int sizecount = links.size(); 
    System.out.println(sizecount);

        FileInputStream input = new FileInputStream("D:\\sel.xls");
        int count=0;

        HSSFWorkbook wb = new HSSFWorkbook(input);
        HSSFSheet sh = wb.getSheet("sheet1");
        HSSFRow row = sh.getRow(count);
        String data = row.getCell(0).toString();
        System.out.println(data);

        FileOutputStream webdata = new FileOutputStream ("D:\\sel.xls");

    int inc = 1;
    for(int i=1;i<=links.size()-1;i++)
    {


        HSSFRow row1 = sh.createRow(count);
        row1.createCell(inc).setCellValue(links.get(i).getText());
        count++;


    }
         wb.write(webdata);

最佳答案

如果要更新它,还应该使用 Excel 的最后一行更新计数变量

 int inc = 1;
 count = sh.getPhysicalNumberOfRows();

然后完成剩下的...

关于java - 使用 POI 读取数据并将数据写入 Excel - 写入新数据后会从 Excel 中删除原始数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27290204/

相关文章:

python - 在 Pandas 中导入 excel 文件出现错误

vba - VBA 中 End 语句的替代方法

python - 使用openpyxl无法读取excel文件

java - 当我使用 java 从文件夹下载 Excel 时,出现此错误 "the format and extension of the .xls file do not match. The file may be damaged"

java - 在 Excel 中用相同的颜色填充整个工作表 - Apache POI

java - 将函数作为参数传递给 Lambda java 8

java - 接受输入、进行计算并显示答案

java - HTTP 状态 400 - 必需的 ... 参数 ... 不存在

java - 如何使用 Apache POI 制作垂直文本单元格样式?

java - TomEE 嵌入式/与单个应用程序捆绑