业务需求:将需求方要的数据导出excel表中。
1.只发出一次请求
2.每个excel表中到数据记录不能超过50条
碰过的坑:原先我发出的是ajax请求,然后请求成功却返回的都是乱码!我是想要下载文件啊!!!
ajax请求,响应的是文本数据,所以下载文件不能用ajax请求!用什么呢?用链接就行了
location.href= "../../aliGoodsOrder/export?startDate="+app.startDate+"&endDate="+app.endDate;
或者一个<a href=""></a> 标签。
后台怎么导出excel呢,分享一个特别简单的工具类给大家:
@Log4j
public class Excel {
public static HSSFWorkbook createExcel(String sheetName, List<String> cellNameList) {
HSSFWorkbook excel = new HSSFWorkbook();
HSSFSheet sheet = excel.createSheet(sheetName);
HSSFRow row = sheet.createRow(0);
int cellIndex = 0;
for (String cellName : cellNameList) {
HSSFCell cell = row.createCell(cellIndex);
cell.setCellValue(cellName);
cellIndex++;
}
return excel;
}
public static HSSFWorkbook createExcelData(HSSFWorkbook excel, List<String> excelData,int rowIndex ,int columnSum){
HSSFRow row=excel.getSheetAt(0).createRow(rowIndex);
for(int i = 0; i < columnSum; i++){
row.createCell(i).setCellValue(excelData.get(i));
}
return excel;
}
}
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.16</version>
</dependency>
怎么使用呢:
/**
* @ Date :2018/11/05
* @ Description:将1688商品订单导出Excel
*/
private HSSFWorkbook exportExcel(List<AliGoodsOrder> allList,String name){
log.info("|createdExcel==============