java实现大数据Excel导出
1、第一步骤创建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路径 百度经验
2、第二步骤:代码实现。
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 {
List<Map> oneWinnerList = new ArrayList<Map>();
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();
}
}
}
3、第三步骤:测试。
1、使用浏览器打开页面
http://localhost:8080/exportCsv/
2、导出文件
2.1 文件大小146M