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议,真的帮助了我