首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Apache POI导入CSV数据

作为一个云计算领域的专家,我了解到Apache POI是一个用于处理Microsoft Office文件格式的Java库。它可以读取和写入Microsoft Excel、Word和PowerPoint文件。然而,Apache POI本身并不直接支持CSV文件格式。

要将CSV数据导入到Excel文件中,您可以使用Apache POI的HSSFWorkbook或XSSFWorkbook类。首先,您需要将CSV文件读取到内存中,然后逐行处理并将数据写入到Excel文件中。以下是一个简单的示例代码:

代码语言:java
复制
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;

public class CSVToExcelConverter {
    public static void main(String[] args) throws IOException {
        String csvFilePath = "path/to/csv/file.csv";
        String outputFilePath = "path/to/output/excel/file.xlsx";

        List<String[]> csvData = readCSV(csvFilePath);
        writeToExcel(csvData, outputFilePath);
    }

    private static List<String[]> readCSV(String csvFilePath) throws IOException {
        List<String[]> data = new ArrayList<>();
        Files.lines(Paths.get(csvFilePath)).forEach(line -> {
            String[] values = line.split(",");
            data.add(values);
        });
        return data;
    }

    private static void writeToExcel(List<String[]> csvData, String outputFilePath) throws IOException {
        try (Workbook workbook = new XSSFWorkbook()) {
            Sheet sheet = workbook.createSheet("Sheet1");

            for (int rowNum = 0; rowNum < csvData.size(); rowNum++) {
                String[] rowData = csvData.get(rowNum);
                Row row = sheet.createRow(rowNum);

                for (int colNum = 0; colNum < rowData.length; colNum++) {
                    Cell cell = row.createCell(colNum);
                    cell.setCellValue(rowData[colNum]);
                }
            }

            try (FileOutputStream outputStream = new FileOutputStream(new File(outputFilePath))) {
                workbook.write(outputStream);
            }
        }
    }
}

这个示例代码将CSV文件读取到内存中,并将数据写入到Excel文件中。请注意,这个示例代码仅适用于简单的CSV文件,如果您的CSV文件包含逗号、引号等特殊字符,您可能需要使用更复杂的CSV解析库,例如OpenCSV或Apache Commons CSV。

总之,Apache POI本身并不支持将CSV数据直接导入到Excel文件中,但是您可以使用Apache POI的HSSFWorkbook或XSSFWorkbook类将CSV数据转换为Excel文件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券