2017-08-24 103 views
0

我是新來的Excel - Java(Apache POI),並試圖找出一種方法將excel數據傳輸到文本文件。複製Excel數據到文本文件 - Java(POI)

我的Excel工作表看起來是這樣的

 name table latest_table Date 
1 george table1 t459   2017-08-24 
2 john table1 thi7   2017-07-23 
3 mary table1 gdr99   2017-07-22 

到目前爲止我的代碼

public static void excel_to_text(XSSFWorkbook wb) { 
     XSSFSheet sheet = wb.getSheetAt(0); 
     int rows = sheet.getPhysicalNumberOfRows(); 
     int cols = 0, tmp = 0; 
     XSSFRow row; 
     XSSFCell cell; 

     for(int i = 0; i < 10 || i < rows; i++) { 
       row = sheet.getRow(i); 
       if(row != null) { 
        tmp = sheet.getRow(i).getPhysicalNumberOfCells(); 
        if(tmp > cols) cols = tmp; 
       } 
      } 

      for(int r = 0; r < rows; r++) { 
       row = sheet.getRow(r); 
       if(row != null) { 
        for(int c = 0; c < cols; c++) { 
         cell = row.getCell((short)c); 
         if(cell != null) { 
          *// code here* 
         } 
        } 
       } 
      } 

     } 

任何幫助表示讚賞。

+1

你的代碼有什麼問題? – 2017-08-24 15:51:51

+0

文本文件應該如何顯示?如果你的問題是關於如何將數據/字符串寫入文件,請看這裏: https://stackoverflow.com/questions/2885173/how-do-i-create-a-file-and-write-to- it-in-java – Piwo

+0

如何存儲數據,因爲存在不同類型的數據。另外,有沒有辦法讓文本文件看起來完全像表一樣? – Chid

回答

0

據我記得有一個單元格getStringValue()方法。在讀取字符串值之前,可能您已將cellformat設置爲字符串格式。 讀取值後,您可以將行和單元格值存儲在列表<列表<字符串>>中。 (值) P 比你應該找到最長的字符串長度。 (k)

爲每個值調用for循環for循環,併爲字符串添加額外空間以達到k長度。有些作家類可以定義何時在文本文件中開始一個新行。