18

我有一个想要打开并进行更改的现有文件 (C:\wb.xls)。如何在阿帕奇 POI 中打开现有文件?我找到的所有文档都必须与创建一个新文件有关。如果您知道,如何在 xls 文件顶部插入新行或如何自动格式化列宽?

4

2 回答 2

22

使用以下之一

 XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(xlFileAddress));

或者

 Workbook wb = WorkbookFactory.create(new File(xlFileAddress));

或者

 Workbook wb = WorkbookFactory.create(new FileInputStream(xlFileAddress));

然后使用 wb 来创建/读取/更新工作表/行/单元格,无论你想要什么。有关详细信息,请访问此处。这肯定会对你有所帮助。

于 2013-07-10T12:22:53.910 回答
11

您是否尝试阅读Apache POI HowTo “读取或修改现有文件”?那应该覆盖你...

基本上,您想要做的是从QuickGuide中获取,例如用于加载文件

Workbook wb = WorkbookFactory.create(new File("MyExcel.xls"));
Sheet s = wb.getSheetAt(0);

// Get the 11th row, creating if not there
Row r1 = s.getRow(10);
if (r1 == null) r1 = s.createRow(10);

// Get the 3rd column, creating if not there
Cell c2 = r1.getCell(2, Row.CREATE_NULL_AS_BLANK);
// Set a string to be the value
c2.setCellValue("Hello, I'm the cell C10!");

// Save
FileOutputStream out = new FileOutputStream("New.xls");
wb.write(out);
out.close();
于 2013-07-09T20:33:47.637 回答