Spring Boot 使用 Apache Commons CSV 导出 CSV 文件

Spring Boot CSV About 1,298 words

依赖

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-csv</artifactId>
    <version>1.14.1</version>
</dependency>

代码

@GetMapping("/api/export")
public void export(ExportRequest request, HttpServletResponse response) throws IOException {
    CSVFormat csvFormat = CSVFormat.DEFAULT.builder().setHeader("id", "HeaderA", "HeaderB", "HeaderC").get();
    List<XXX> list = listMapper.export(request);
    try (
            OutputStreamWriter writer = new OutputStreamWriter(response.getOutputStream(), StandardCharsets.UTF_8);
            CSVPrinter printer = new CSVPrinter(writer, csvFormat)
    ) {
        response.setCharacterEncoding(StandardCharsets.UTF_8);
        response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
        response.setHeader("Content-Disposition", "attachment;filename=file.csv");

        response.getOutputStream().write(0xEF);
        response.getOutputStream().write(0xBB);
        response.getOutputStream().write(0xBF);


        for (XXX e : list) {
            printer.printRecord(
                    e.getId(),
                    e.getHeadA(),
                    e.getHeadB(),
                    e.getHeadC(),
            );
        }
        printer.flush();
    }
}

文档

https://commons.apache.org/proper/commons-csv/

Views: 15 · Posted: 2026-02-02

———         Thanks for Reading         ———

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓
Prev Post
Today In History
Browsing Refresh