我正在尝试编写一个程序来更新现有的Excel文件。我遇到的问题是它没有在文件中追加文本。这是相关代码:
a = [10, 9, 8]
accumulator = a[0]
for x in a[1:]:
accumulator -= x
print(accumulator)
# -7
答案 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();
}
}