【问题标题】:Java write csv-String to ExcelJava 将 csv-String 写入 Excel
【发布时间】:2016-11-11 08:29:12
【问题描述】:

在我的程序中,我想将字符串写入 *.xlsx

字符串示例:

a,b,c,d,e,,f,\na,b,c,d,e,,f,\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 创建行和列?

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

感谢您的帮助

【问题讨论】:

  • 通过学习文档/教程并开始编写代码并尝试实验?!

标签: java excel string csv apache-poi


【解决方案1】:

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

在您的情况下,您必须将字符串按,\n 拆分,并对结果数组的每个元素进行XSSFSheet.createRow() 调用。

使用XSSFRow.createCell(),您可以创建需要用, 分割的单元格。要设置值,Cell.setCellValue() 必须使用每个逗号分隔的部分进行调用。

简单示例here

【讨论】:

  • 感谢您的建议,首先在 \n 拆分 - 我尝试在 , 拆分然后编写 Excel - 如果我想出工作代码,我会在这里发布
【解决方案2】:
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 处拆分我的文本,并为每个元素创建一个行。然后我在,拆分元素并创建单元格

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 2023-03-17
    • 2013-02-26
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多