2014-04-04 45 views
2

我想将文本添加到Excel文件中。我可以添加一次。但是,当我第二次尝试时,只有最后一个值被更新。我尝试了其他一些东西,但我没有得到答案。在Excel中编辑文本

while (true) { 
      try { 

       clientSocket = serverSocket.accept(); //accept the client connection 
       inputStreamReader = new InputStreamReader(clientSocket.getInputStream()); 
       bufferedReader = new BufferedReader(inputStreamReader); //get the client message 
       message = bufferedReader.readLine(); 

       System.out.println("Java Server1 " + message); 
writeInExcel(message); 

} 

public static void writeInExcel(String stock_list) throws WriteException, IOException, BiffException 
    { 


     Workbook existingWorkbook = Workbook.getWorkbook(new File("try.xls")); 
     WritableWorkbook workbookCopy = Workbook.createWorkbook(new File("output.xls"), existingWorkbook); 
     WritableSheet sheetToEdit = workbookCopy.getSheet(0); 

     Label l = new Label(0, i, String.valueOf(i)); 
     sheetToEdit.addCell(l); 

     workbookCopy.write(); 
     workbookCopy.close(); 
     existingWorkbook.close(); 
    } 

在这里,只要我在inputstream上获得一些东西,我需要将它添加到excel文件中。 如果有人能帮我解释一下我的代码,那就太好了。可写的细胞后,我无法理解的代码完全

+0

看看我的答案.... –

+0

编辑封闭的格式是个坏主意,因为你可能会损坏格式。如果可能,请尝试生成xls。 –

+0

@NidhishKrishnan我编辑了我的答案,你可以看看 –

回答

1

因为在你的代码中已经把内部的for循环以下,请带上环路外

workbookCopy.write(); 
workbookCopy.close(); 
existingWorkbook.close(); 

试试这个

Workbook existingWorkbook = Workbook.getWorkbook(new File("try.xls")); 
    WritableWorkbook workbookCopy = Workbook.createWorkbook(new File("output.xls"), existingWorkbook); 
    WritableSheet sheetToEdit = workbookCopy.getSheet(0); 
    for(int i=0;i<5;i++) 
    { 
    Label l = new Label(0, i, String.valueOf(i)); 
    sheetToEdit.addCell(l); 
    } 
    workbookCopy.write(); 
    workbookCopy.close(); 
    existingWorkbook.close(); 

output.xls 当我把极限= 5

enter image description here

+0

我编辑了我的答案,你可以请看看 –