2016-11-11 89 views
0

在我的計劃,我想編寫一個字符串*的.xlsxJava編寫的CSV字符串到Excel

實例的字符串:

A,B,C,d,E ,,˚F \吶,b,C,d,E ,,樓\ n

我想寫一個Excel文件,該文件是這樣的:enter image description here

我怎樣才能做到這一點?

private void createExcel() throws Exception { 
    //Create blank workbook 
    XSSFWorkbook workbook = new XSSFWorkbook(); 
    //Create a blank sheet 
    XSSFSheet spreadsheet = workbook.createSheet("Excel Sheet"); 

如何從我的csvString創建行和列?

//Write the workbook in file system 
    FileOutputStream out = new FileOutputStream(new File("FilePath.xlsx")); 
    workbook.write(out); 
    out.close(); 
    System.out.println("*.xlsx written successfully"); 
} 

我很感激所有幫助

+4

通過對文檔/教程,並開始編寫代碼和* *嘗試嘗試? – GhostCat

回答

1

使用XSSFSheet.createRow(),可以根據需要創建行。

對於您的情況,您必須將字符串拆分爲,\n,併爲結果數組的每個元素調用XSSFSheet.createRow()

使用XSSFRow.createCell(),您可以創建單元格,爲此需要拆分,。要設置該值,必須使用逗號分隔的每個部分調用Cell.setCellValue()

簡單示例here

+0

感謝您首先在'\ n'劃分的建議 - 我嘗試在''分裂,然後寫入Excel - 如果我想出工作代碼,我會在這裏發佈它 – KilledByCheese

0
private void createExcel() throws Exception { 
    //Create blank workbook 
    XSSFWorkbook workbook = new XSSFWorkbook(); 
    //Create a blank sheet 
    XSSFSheet spreadsheet_1 = workbook.createSheet("Excel Sheet"); 

    ArrayList<String> arrRows = new ArrayList<String>(Arrays.asList(Text.split("\n"))); 

    for (int i = 0; i < arrRows.size(); i++) { 

     XSSFRow row = spreadsheet_1.createRow(i); 

     ArrayList<String> arrElement = new ArrayList<String>(Arrays.asList(arrRows.get(i).split(","))); 

     for(int j = 0; j < arrElement.size(); j++) { 

      XSSFCell cell = row.createCell(j); 
      cell.setCellValue(arrElement.get(j)); 

     }   
    } 
    //Write the workbook in file system 
    FileOutputStream out = new FileOutputStream(new File("FilePath.xlsx")); 
    workbook.write(out); 
    out.close(); 
    System.out.println("*.xlsx written successfully"); 
} 

像@Naveed第一個說,我在每一個\N拆我的文字,併爲每個元素創建一個行。然後我分裂的元素在,創造細胞

感謝您的幫助和建議,這真的幫了我