OpenCSV web下载csv文件demo
pom.xml
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>4.1</version>
</dependency>
@RequestMapping(value = "/batchScan!exportReport.action")
public void exportReport(HttpServletRequest request, HttpServletResponse response) {
try {
response.setContentType("text/csv");
response.setCharacterEncoding("utf-8");
String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".csv");
PrintWriter printWriter = response.getWriter();
CSVWriter writer = new CSVWriter(printWriter, ',');
List<DemoData> data = data();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String[] header = new String[]{"字符串", "日期", "数据"};
writer.writeNext(header);
for (DemoData demoData : data) {
String[] array = new String[3];
array[0] = demoData.getString();
array[1] = dateFormat.format(demoData.getDate());
array[2] = demoData.getDoubleData().toString();
writer.writeNext(array);
}
writer.flush();
writer.close();
request.getSession().setAttribute("exportIsEnd", "true");
} catch (Exception e) {
request.getSession().setAttribute("exportIsEnd", "exception");
e.printStackTrace();
}
}
产生数据
public List<DemoData> data() {
List<DemoData> list = new ArrayList<DemoData>();
for (int i = 0; i < 10; i++) {
DemoData data = new DemoData();
data.setString("字符串" + i);
data.setDate(new Date());
data.setDoubleData(0.56);
list.add(data);
}
return list;
}
实体类
public class DemoData {
private String string;
private Date date;
private Double doubleData;
//get,set方法省略
}
参考:https://blog.csdn.net/haqiang555/article/details/97942797
EasyExcel web下载excel参见:https://blog.csdn.net/weixin_43614067/article/details/116262853