Java将csv-String写入Excel

在我的程序中,我想写一个string* .xlsx

string示例:

A,B,C,d,E ,,楼\ NA,B,C,d,E ,,女,\ n

我想写一个如下所示的Excel文件: 在这里输入图像说明

我怎样才能做到这一点?

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

我怎样才能从我的csvString创build行和列?

  //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" ); } 

我很感激任何帮助

使用XSSFSheet.createRow() ,您可以根据需要创build行。

在你的情况下,你将不得不通过,\n分割string,\n并对结果数组的每个元素进行XSSFSheet.createRow()调用。

使用XSSFRow.createCell() ,您可以创build单元格,为此需要split by。 要设置该值, Cell.setCellValue()必须用每个逗号分隔的部分来调用。

简单的例子

 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 S先说我在每个\N分割我的文本,并为每个元素创build一个行。 然后我拆分元素,并创build单元格

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