V I J E S H
V I J E S H

Reputation: 7594

Appending data in an Excel file

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.

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();
    }
}

Upvotes: 2

Views: 24887

Answers (3)

Priyanka sachan
Priyanka sachan

Reputation: 66

//WRITE IN 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();

Upvotes: 5

kensen john
kensen john

Reputation: 5519

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.

To the sheet you retrieved above use "addCell(WritableCell cell) " to append cells to the sheet.

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

Upvotes: 5

Tommi
Tommi

Reputation: 8608

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.

Upvotes: 1

Related Questions