如何使用Java创建基于CSV文件的Excel文件?

Sam*_*hra 6 java csv excel

我需要使用Java在CSV文件的基础上创建XLS文件.

请告诉我哪个API最适合创建excel文件.

谢谢

aio*_*obe 24

我建议您使用Apache POI框架(特别是HSSF/XSSF API)来写出XLS文件.

为了阅读CSV文件,我建议您使用OpenCSV,因为它将为您处理转义字符等.

从放在一起的POI例如这里从OpenCSV例子在这里给大家:

import java.io.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import au.com.bytecode.opencsv.CSVReader;

class Test {
    public static void main(String[] args) throws IOException {
        Workbook wb = new HSSFWorkbook();
        CreationHelper helper = wb.getCreationHelper();
        Sheet sheet = wb.createSheet("new sheet");

        CSVReader reader = new CSVReader(new FileReader("data.csv"));
        String[] line;
        int r = 0;
        while ((line = reader.readNext()) != null) {
            Row row = sheet.createRow((short) r++);

            for (int i = 0; i < line.length; i++)
                row.createCell(i)
                   .setCellValue(helper.createRichTextString(line[i]));
        }

        // Write the output to a file
        FileOutputStream fileOut = new FileOutputStream("workbook.xls");
        wb.write(fileOut);
        fileOut.close();
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此输入图像描述

  • 当您的csv超过10万行时,这将是非常缓慢的方法 (2认同)

And*_*s_D 6

Apache POI是一个可以处理各种Microsoft Office文档的库,包括MS Excel.您可以使用简单的Java代码读取csv文件的内容,并使用该库创建和保存MS Excel文档.