Spring Boot 导出csv文件

1. 导出文件工具类

@Slf4j
public class ExportUtil {
   

    /** CSV文件列分隔符 */
    private static final String CSV_COLUMN_SEPARATOR = ",";

    /** CSV文件列分隔符 */
    private static final String CSV_RN = "\r\n";

    /**
     *
     * @param dataList 集合数据
     * @param colNames 表头部数据
     * @param mapKey 查找的对应数据
     * @param os 返回结果
     */
    public static boolean doExport(List<Map<String, Object>> dataList, String colNames, String mapKey, OutputStream os) {
        try {
            StringBuffer buf = new StringBuffer();

            String[] colNamesArr = null;
            String[] mapKeyArr = null;

            colNamesArr = colNames.split(",");
            mapKeyArr = mapKey.split(",");

            // 完成数
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要在Spring Boot导出CSV文件,您可以使用以下步骤: 1. 添加依赖项 您需要添加`opencsv`依赖项,它是一个用于读取和写入CSV文件的Java库。在您的`pom.xml`文件中添加以下依赖项: ``` <dependency> <groupId>com.opencsv</groupId> <artifactId>opencsv</artifactId> <version>5.1</version> </dependency> ``` 2. 创建CSV文件 您需要创建一个包含要导出的数据的CSV文件。例如,如果要导出用户信息,您可以创建以下文件: ``` id,name,email 1,John Doe,john.doe@example.com 2,Jane Doe,jane.doe@example.com 3,Bob Smith,bob.smith@example.com ``` 3. 创建Controller 创建一个控制器类来处理导出CSV文件的请求。以下是一个简单的示例: ``` @RestController public class CsvController { @GetMapping("/export/csv") public void exportCsv(HttpServletResponse response) throws Exception { String filename = "users.csv"; response.setContentType("text/csv"); response.setHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + filename + "\""); OutputStream outputStream = response.getOutputStream(); ICsvBeanWriter csvWriter = new CsvBeanWriter(new OutputStreamWriter(outputStream, "UTF-8"), CsvPreference.STANDARD_PREFERENCE); // Write CSV header String[] header = {"id", "name", "email"}; csvWriter.writeHeader(header); // Write CSV data List<User> users = getUsers(); // Replace with your own method to get data for (User user : users) { csvWriter.write(user, header); } csvWriter.close(); } } ``` 此控制器使用Spring MVC注释`@RestController`,并将`/export/csv`路径映射到`exportCsv`方法。该方法获取一个`HttpServletResponse`对象,该对象用于将CSV文件发送回客户端。 首先,该方法设置响应的内容类型为`text/csv`,并设置文件名为`users.csv`。然后,它获取输出流,并使用`opencsv`库创建一个`CsvBeanWriter`对象,用于将数据写入CSV文件。 接下来,该方法编写CSV文件的标题行,然后使用`getUsers()`方法获取要导出的用户数据。最后,它将每个用户对象写入CSV文件,并在完成后关闭`CsvBeanWriter`对象。 4. 测试 启动您的Spring Boot应用程序,并访问`http://localhost:8080/export/csv`。浏览器将下载一个名为`users.csv`的文件,其中包含您指定的用户数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值