EXCEL 如何制作瀑布图,对于有些数据做图表非常适合用瀑布图,比如生活开支......
java实现大数据Excel导出
Excel表格大文件导出的解决方案,主要就是使用csv文件替代表格(csv可以和表格互相转换且使用效果基本相同)。csv格式文件和txt文件一样理论上没有大小上限。
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。
CSV文件格式的通用标准并不存在,但是在RFC 4180中有基础性的描述。使用的字符编码同样没有被指定,但是bitASCII是最基本的通用编码。
工具/原料
- 电脑
- intellij IDEA 2018.3.3
方法/步骤
第一步骤创建springboot项目。
1、使用IDEA创建springboot项目。
具体可以直接参考:https://jingyan.baidu.com/article/0eb457e5ff3a5c03f1a905ff.html
2、使用eclipse创建springboot项目。
具体可以直接参考:https://jingyan.baidu.com/article/37bce2beac4a461002f3a2a4.html
3、创建普通javaweb项目使用servlet实现请求
具体可以直接参考:https://jingyan.baidu.com/article/ff411625048acf12e482373a.html
或者百度搜索:servlet类如何映射到url路径 百度经验
第二步骤:代码实现。
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class CSVController {
@GetMapping("/exportCsv")
public void exportCsv(HttpServletRequest request, HttpServletResponse response) {
try {
ListMa oneWinnerList = new ArrayListMa();
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("expressOrde", "快递单号");
oneWinnerList.add(map);
}
response.reset();
response.setContentType("application/csv;charset=UTF-8");
response.setHeader("Content-Disposition",
"attachment;filename=orderData " System.currentTimeMillis() ".csv");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("winnerId(请勿修改),订单号,商品标题,商品Id,期数,用户Id,用户,订单状态,收货人,收货电话,收货地址,快递名称,快递单号");
for (int i = 0, length = oneWinnerList.size(); i length; i ) {
Map onewinner = oneWinnerList.get(i);
String str = onewinner.get("winnerId") "," onewinner.get("orderDetailId") ","
onewinner.get("title") "," onewinner.get("goodsId") "," onewinner.get("periods") ","
onewinner.get("userId") "," onewinner.get("userName") ","
onewinner.get("statusDetail") "," onewinner.get("addressee") ","
onewinner.get("phone") "," onewinner.get("address") ","
onewinner.get("expressCompany") "," onewinner.get("expressOrde");
str = str.replace("null", "");
out.println(str);
}
out.flush();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
第三步骤:测试。
1、使用浏览器打开页面
http://localhost:8080/exportCsv/
2、导出文件
2.1 文件大小146M
注意事项
- jdk1.8
- csv的导出只需要jdk就可以支持
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!