2013-06-29 35 views
1

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

+0

如果这需要一个非VBA的答案,那么你应该指定这一点。 – brettdj

+0

考虑将标签“apache-poi”添加到您的问题中,如果这是您想要的。 – Beryllium

回答

1

如果使用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); 

在这种情况下,表名称是“表1”,“表2”等

2

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

Sheets.Add 
2
Worksheets.Add 

(自动时,最好要具体)

你需要保持这一新的工作表的参考。在VBA中,这将是

Set wsRef = Worksheets.Add 
+0

对不起,我忘了提及我在JAVA编码,到目前为止我打电话给函数写一个文件 - \t \t File outFile = new File(sPath); \t HSSFWorkbook wb = new HSSFWorkbook(); \t HSSFSheet sheet = wb.createSheet(iSheet); \t FileOutputStream fOut = new FileOutputStream(outFile); \t int xRows = xData.length; \t int xCols = xData [0] .length;对于(int i = 0; i user2467785

相关问题