I am trying to write a program that will append data to an Excel file in Java. I got up to the following code. But it rewrites the contents in the Excel file, not appending to it. Please help me to complete this.
我正在尝试编写一个程序,将数据附加到Java中的Excel文件中。我达到了以下代码。但它会重写Excel文件中的内容,而不是附加到它。请帮我完成这个。
public class jExcel
{
static WritableWorkbook workbook;
public static void main(String args[])throws Exception
{
workbook = Workbook.createWorkbook((new File("D:\\0077\\my2.xls")));
WritableSheet sheet = workbook.createSheet("First Sheett",1);
Label label = new Label(5,2,"ssssssssss");
sheet.addCell(label);
workbook.write();
workbook.close();
}
}
3 个解决方案
#1
5
//WRITE IN XLS
//写入XLS
WritableWorkbook workbook = Workbook.createWorkbook(new File("D:\\output.xls"));
WritableSheet sheet = workbook.createSheet("First Sheet", 0);
Label label = new Label(0, 2, "A label record");
sheet.addCell(label);
workbook.write();
workbook.close();
//MODIFY XLS
Workbook workbook1 = Workbook.getWorkbook(new File("D:\\output.xls"));
WritableWorkbook copy = Workbook.createWorkbook(new File("D:\\output.xls"), workbook1);
WritableSheet sheet2 = copy.getSheet(0);
//WritableCell cell = sheet2.getWritableCell(5, 2);
copy.write();
copy.close();
#2
5
Instead of using createWorkbook
use "getWorkbook(java.io.File file)
" to get an existing Excel. Then use getSheet(int index)
to retrieve the appropriate sheet.
而不是使用createWorkbook使用“getWorkbook(java.io.File文件)”来获取现有的Excel。然后使用getSheet(int index)检索适当的工作表。
To the sheet you retrieved above use "addCell(WritableCell cell)
" to append cells to the sheet.
对于您在上面检索的工作表,使用“addCell(WritableCell cell)”将单元格附加到工作表。
Workbook workbook = Workbook.getWorkbook(new File(""D:\\0077\\my2.xls""));
WritableWorkbook copy = Workbook.createWorkbook(new File("output.xls"), workbook);
WritableSheet sheet2 = copy.getSheet(1);
Label label = new Label(5,2,"ssssssssss");
sheet2.addCell(label);
You will find a lot of examples here. http://www.andykhan.com/jexcelapi/tutorial.html
你会在这里找到很多例子。 http://www.andykhan.com/jexcelapi/tutorial.html
#3
1
After opening the workbook
from file, do like this:
从文件打开工作簿后,请执行以下操作:
WritableWorkbook copy = Workbook.createWorkbook(
new File(""D:\\0077\\my2_copy.xls""),
workbook
);
You will get a copy of the workbook opened. Do the changes you need in that copy and save it instead.
您将获得打开的工作簿的副本。在该副本中进行所需的更改并保存。
#1
5
//WRITE IN XLS
//写入XLS
WritableWorkbook workbook = Workbook.createWorkbook(new File("D:\\output.xls"));
WritableSheet sheet = workbook.createSheet("First Sheet", 0);
Label label = new Label(0, 2, "A label record");
sheet.addCell(label);
workbook.write();
workbook.close();
//MODIFY XLS
Workbook workbook1 = Workbook.getWorkbook(new File("D:\\output.xls"));
WritableWorkbook copy = Workbook.createWorkbook(new File("D:\\output.xls"), workbook1);
WritableSheet sheet2 = copy.getSheet(0);
//WritableCell cell = sheet2.getWritableCell(5, 2);
copy.write();
copy.close();
#2
5
Instead of using createWorkbook
use "getWorkbook(java.io.File file)
" to get an existing Excel. Then use getSheet(int index)
to retrieve the appropriate sheet.
而不是使用createWorkbook使用“getWorkbook(java.io.File文件)”来获取现有的Excel。然后使用getSheet(int index)检索适当的工作表。
To the sheet you retrieved above use "addCell(WritableCell cell)
" to append cells to the sheet.
对于您在上面检索的工作表,使用“addCell(WritableCell cell)”将单元格附加到工作表。
Workbook workbook = Workbook.getWorkbook(new File(""D:\\0077\\my2.xls""));
WritableWorkbook copy = Workbook.createWorkbook(new File("output.xls"), workbook);
WritableSheet sheet2 = copy.getSheet(1);
Label label = new Label(5,2,"ssssssssss");
sheet2.addCell(label);
You will find a lot of examples here. http://www.andykhan.com/jexcelapi/tutorial.html
你会在这里找到很多例子。 http://www.andykhan.com/jexcelapi/tutorial.html
#3
1
After opening the workbook
from file, do like this:
从文件打开工作簿后,请执行以下操作:
WritableWorkbook copy = Workbook.createWorkbook(
new File(""D:\\0077\\my2_copy.xls""),
workbook
);
You will get a copy of the workbook opened. Do the changes you need in that copy and save it instead.
您将获得打开的工作簿的副本。在该副本中进行所需的更改并保存。