Java实现大数据Excel导出
浏览量:2196
时间:2024-01-18 08:51:56
作者:采采
在处理大量数据需要导出Excel表格时,我们可以采用一种解决方案,即使用CSV文件替代表格。CSV文件是一种纯文本格式,可以和表格互相转换且使用效果基本相同。与普通的Excel文件不同,CSV文件理论上没有大小上限。
CSV文件(逗号分隔值)以纯文本形式存储表格数据,不包含像二进制数字那样被解读的数据。它由任意数量的记录组成,记录间以某种换行符分隔,每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符。所有记录通常都有完全相同的字段序列。建议使用WordPad或记事本来打开CSV文件,也可以先另存为新档再用Excel打开。
虽然CSV文件格式的通用标准并不存在,但是在RFC 4180中有一些基础性的描述。使用的字符编码也没有被指定,但是bitASCII是最基本的通用编码。
第一步骤:创建SpringBoot项目
1. 使用IDEA创建SpringBoot项目,具体可以参考:
2. 使用Eclipse创建SpringBoot项目,具体可以参考:
3. 创建普通JavaWeb项目使用Servlet实现请求,具体可以参考: 或者百度搜索:servlet类如何映射到URL路径。
第二步骤:代码实现
import ;
import ;
import ;
import ;
import ;
import ;
import java.util.HashMap;
import ;
import ;
@RestController
public class CSVController {
@GetMapping("/exportCsv")
public void exportCsv(HttpServletRequest request, HttpServletResponse response) {
try {
Listlt;Mapgt; oneWinnerList new ArrayListlt;gt;();
for (int i 0; i < 100000; i ) {
Map map new HashMap<>();
map.put("winnerId", "winnerId(请勿修改)");
map.put("orderDetailId", "订单号");
map.put("title", "商品标题");
map.put("goodsId", "商品Id");
map.put("periods", "期数");
map.put("userId", "用户Id");
map.put("userName", "用户");
map.put("statusDetail", "订单状态");
map.put("addressee", "收货人");
map.put("phone", "收货电话");
map.put("address", "收货地址");
map.put("expressCompany", "快递名称");
map.put("expressOrder", "快递单号");
(map);
}
();
("application/csv;charsetUTF-8");
("Content-Disposition", "attachment;filenameorderData " () ".csv");
("UTF-8");
PrintWriter out ();
("winnerId(请勿修改),订单号,商品标题,商品Id,期数,用户Id,用户,订单状态,收货人,收货电话,收货地址,快递名称,快递单号");
for (int i 0, length (); i < length; i ) {
Map onewinner (i);
String str ("winnerId") ","
("orderDetailId") ","
("title") ","
("goodsId") ","
("periods") ","
("userId") ","
("userName") ","
("statusDetail") ","
("addressee") ","
("phone") ","
("address") ","
("expressCompany") ","
("expressOrder");
str ("null", "");
(str);
}
out.flush();
();
} catch (Exception e) {
();
}
}
}
第三步骤:测试
1. 使用浏览器打开页面 http://localhost:8080/exportCsv
2. 导出文件大小为146M。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
企业微信如何关闭启动后自动登录