本机excel版本大于2007
maven引入jar包配置
org.apache.poi
poi-ooxml
3.9
dom4j
dom4j
代码controller层
MemberSchoolController.java
package com.ztesoft.zsmart.zcm.monitor.controller;
import javax.servlet.http.HttpServletResponse;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@RestController
@RequestMapping(value="/memberschool")
public class MemberSchoolController {
/**
* @description:导出数据
* @param:[schoolId, response]
* @return:void
* @date:2020/02/21
* @author:tangyj
* @remark:
* */
@RequestMapping(value = "/download/data/{schoolId}", method = RequestMethod.GET,consumes = "application/octet-stream",produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public void download(
@PathVariable(value="schoolId",required = true)Long schoolId,
HttpServletResponse response) throws Exception{
//临时生成测试数据
String fileName = "test7.xlsx";
String headTitle = "test_title";
int colunmNum = 10;
List headTitleList = new ArrayList();
for(int i=0;i<10; i++){
headTitleList.add("first "+(i+1)+"xxx");
}
List> dataList = new ArrayList>();
for(int i=0;i<5; i++){
List datas = new ArrayList<>();
for(int j=0;j<10; j++){
datas.add("yyy "+(i+1)+"yyyy"+(j+1)+"yyy");
}
dataList.add(datas);
}
//1-创建一个HSSFWorkbook
ExcelObject excel = new ExcelObject("test_data");
//2-写入头标题
excel.createHeadTile(colunmNum,headTitl