在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文件中。 如果有人可以帮我解释一下我的代码,那就太好了。 在可写单元格之后,我无法完全理解代码

由于在你的代码中你已经把以下内容放在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

在这里输入图像说明