springboot实现根据Excel模板导出表格
1、第一步:创建springboot项目。
1、使用intellij IDEA创建springboot项目
1.1、 打开创建页面 选择File-new-project..
1.2、选择创建的项目为spring initializr 进入springboot项目创建步骤(也可以选择类型java,罪巨创建一个普通java项目)
1.3、输入项目名字,选择依赖web(根据项目需求选择,此次需要),选择存放目录-完成(Finish)
2、使用eclipse创兼裹建springboot项目
2、第二步:pom文件引入Excel表格的POI导出导入依赖包。
<!--引入poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>惹露艳
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.0</version>
</dependency>
1、第一步:制作导出模板。
1、wps2019新建一个表格
2、制作需要的模板
2、第二步:编写实现类。
1、编写控制器,代码如下所示
import java.io.FileInputStream;
import java.io.OutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class Excel(敏感词)ExportController {
@GetMapping("/exportExcel")
public void exportExcel(HttpServletRequest request, HttpServletResponse response) {
try {
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream("E:/file/Excel导出模板.xls"));
// 根据页面index 获取sheet页
HSSFSheet sheet = wb.getSheet("Sheet1");
for (int i = 0; i < 100; i++) {
// 创建HSSFRow对象
HSSFRow row = sheet.createRow(i + 1);
// 创建HSSFCell对象 设置单元格的值
row.createCell(0).setCellValue("张三" + i);
row.createCell(1).setCellValue(i);
row.createCell(2).setCellValue("男" + i);
row.createCell(3).setCellValue("科研" + i);
}
// 输出Excel文件
OutputStream output = response.getOutputStream();
response.reset();
// 设置文件头
response.setHeader("Content-Disposition",
"attchement;filename=" + new String("人员信息.xls".getBytes("gb2312"), "ISO8859-1"));
response.setContentType("application/msexcel");
wb.write(output);
wb.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
3、第三步:测试。
1、打开:http://localhost:8080/exportExcel
2、查看导出结果,结果如下所示,测试成功。