1

我想在现有的 excel 文件中添加一张工作表。我怎样才能做到这一点?我正在做一个 selenium 项目,我想将我所有的自动化结果表添加到单个 excel 文件中。现在我可以为每张工作表创建新的 excel 文件。

4

3 回答 3

2

如果您Apache POI从 Java 中使用:

要分别打开现有工作表或创建新工作表:

final File file = "/tmp/sheet.xls";
final HSSFWorkbook workbook;
if (file.exists() == false) {
  System.out.println("Creating a new workbook '" + file + "'");
  workbook = new HSSFWorkbook();
} else {
  System.out.println("Appending to existing workbook '" + file + "'");
  final InputStream is = new FileInputStream(file);
  try {
    workbook = new HSSFWorkbook(is);
  } finally {
    is.close();
  }
}

要检查工作表是否存在以创建唯一的工作表名称,您可以使用以下内容:

int sheetIndex = 1;
while (workbook.getSheet("Sheet " + sheetIndex) != null) {
  sheetIndex++;
}

然后您可以通过调用添加工作表createSheet

HSSFSheet sheet = workbook.createSheet("Sheet " + sheetIndex);

在这种情况下,工作表名称为“Sheet 1”、“Sheet 2”等。

于 2013-06-30T19:49:55.083 回答
2

从 VBA,激活正确的工作簿:

Sheets.Add
于 2013-06-29T19:44:13.470 回答
2
Worksheets.Add

(自动化的时候最好具体一点)

您需要维护对这个新工作表的引用。在 VBA 中,这将是

Set wsRef = Worksheets.Add
于 2013-06-29T20:59:25.173 回答