|
@@ -48,6 +48,7 @@ import java.io.ByteArrayOutputStream;
|
|
|
import java.io.InputStream;
|
|
|
import java.io.OutputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.net.URLEncoder;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
@@ -170,16 +171,21 @@ public class PlanYearsController extends BaseController {
|
|
|
OutputStream outputStream = null;
|
|
|
InputStream inputStream = null;
|
|
|
try {
|
|
|
- response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
|
|
+ response.setContentType("application/vnd.ms-excel");
|
|
|
response.setCharacterEncoding("utf-8");
|
|
|
+ // 这里URLEncoder.encode可以防止中文乱码 当然和easyexcel没有关系
|
|
|
+ String fileName = URLEncoder.encode("年度计划.xlsx", "UTF-8");
|
|
|
+ response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
|
|
|
outputStream = response.getOutputStream();
|
|
|
- ExcelWriter excelWriter = EasyExcel.write(outputStream).withTemplate(resourceAsStream).autoCloseStream(true).build();
|
|
|
- WriteSheet writeSheet = EasyExcel.writerSheet("年度计划.xlsx").build();
|
|
|
+ ExcelWriter excelWriter = EasyExcel.write(outputStream)
|
|
|
+ .withTemplate(resourceAsStream).autoCloseStream(true).build();
|
|
|
+ WriteSheet writeSheet = EasyExcel.writerSheet().build();
|
|
|
// FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
|
|
// excelWriter.fill(list, fillConfig, writeSheet);
|
|
|
excelWriter.fill(list, writeSheet);
|
|
|
excelWriter.finish();
|
|
|
outputStream.flush();
|
|
|
+ outputStream.close();
|
|
|
} catch (Exception e) {
|
|
|
log.error(e.getMessage());
|
|
|
throw new BaseException("下载异常");
|