2016-11-11 88 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拆我的文字,并为每个元素创建一个行。然后我分裂的元素在,创造细胞

感谢您的帮助和建议,这真的帮了我