Java更新现有的Excel文件

时间:2018-08-15 22:16:39

标签: java excel

我正在尝试编写一个程序来更新现有的Excel文件。我遇到的问题是它没有在文件中追加文本。这是相关代码:

a = [10, 9, 8]

accumulator = a[0]
for x in a[1:]:
    accumulator -= x

print(accumulator)
# -7

1 个答案:

答案 0 :(得分:0)

上面的代码有几个问题,包括:

a)构造函数应定义为构造函数。

b)如果电子表格还没有行和列,则必须创建它们。

c)您需要“关闭()”工作簿

这是一个从头开始创建电子表格的示例。更新现有电子表格所需的更改应该非常简单:

package com.test.hellopoi;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
//import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.*;

public class LC_negotiation {

  public static final String TEST_FILE = "tests/test.xls";

  public LC_negotiation(){
    try { 
      // Create Excel-95 spreadsheet
      HSSFWorkbook workbook = new HSSFWorkbook();
      HSSFSheet sheet = workbook.createSheet();

      HSSFRow row = sheet.createRow(1);     
      Cell cell = row.createCell(2);
      cell.setCellValue("Name");

      row = sheet.createRow(2);     
      cell = row.createCell(2);
      cell.setCellValue("Address");

      FileOutputStream outFile =
        new FileOutputStream(new File(TEST_FILE));
      workbook.write(outFile);
      workbook.close();

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
  }

  public static void main(String[] args) { 
    LC_negotiation lc_one = new LC_negotiation();
  }

}