大家好,我是小铁(一个实力和逗比的结合体),好好学习天天向上。(纯属瞎扯),废话不多说了,咱们 直接来看代码
下面是我给大家准备的一些字段,希望对您有帮助!!!
HSSFWorkbook excel的文档对象
HSSFSheet excel里的表单
HSSFRow excel里的行
HSSFCell excel的格子单元
HSSFFont excel的字体
HSSFHeader sheet头
HSSFFooter sheet尾(打印的时候才能看到效果)
HSSFDataFormat 日期格式 //一般我很少用
样式:
HSSFCellStyle cell样式
1.导入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>RELEASE</version>
</dependency>
2 controller层的代码
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:ss:mm"); //只是格式化一下时间
//这里是你查询sql的数据
List<OrderInfoVo> orderInfoVoList = orderService.queryOrderInfo();
try {
//初始化表格
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
HSSFSheet sheet = hssfWorkbook.createSheet("订单管理"); //工作铺名称
//创建表头
HSSFRow hssfRow0 = sheet.createRow(0);
//创建一个数组遍历循环
String [] arr = {"订单编号","昵称","缴费名称","手机号","实付金额","有效期","付款时间"};
for(int i=0; i<arr.length; i++){
hssfRow0.createCell(i).setCellValue(arr[i]);
}
for(int i=1; i<=orderInfoVoList.size(); i++){
HSSFRow hssfRow = sheet.createRow(i);
hssfRow.createCell(0).setCellValue(orderInfoVoList.get(i-1).getOrderNo());
hssfRow.createCell(1).setCellValue(orderInfoVoList.get(i-1).getUser());
hssfRow.createCell(2).setCellValue(orderInfoVoList.get(i-1).getPfName());
hssfRow.createCell(3).setCellValue(orderInfoVoList.get(i-1).getMobilenumber());
BigDecimal orderTotal = orderInfoVoList.get(i - 1).getOrderTotal();
hssfRow.createCell(4).setCellValue(orderTotal.doubleValue());
String startTimes = sdf.format(orderInfoVoList.get(i-1).getStartTime());
String endTimes = sdf.format(orderInfoVoList.get(i-1).getEndTime());
hssfRow.createCell(5).setCellValue(startTimes+" -- "+endTimes);
String addTime = sdf.format(orderInfoVoList.get(i-1).getAddTime());
hssfRow.createCell(6).setCellValue(addTime);
}
//下面就是下载与起名字了
String fileName ="order" +".xls"; //起名
String downloadFileName = new String(fileName.getBytes("UTF-8"),"iso-8859-1");
String headStr ="attachment; filename=\"" + downloadFileName +"\"";
response.setContentType("application/force-download");
response.setHeader("Content-Disposition", headStr);
OutputStream out = response.getOutputStream();
//请一定要write一下,千万别忘记!!!!否则会一片空白,白到你怀疑人生
hssfWorkbook.write(out);
} catch (Exception e) {
e.printStackTrace();
}
因为我的这个项目用到Excel导出的地方不多,所以我没有封装成工具类,而是直接写在里面了。还请大佬见谅!!!
到这里就结束了,如果觉得小铁的文章写的还不错的话,就请点个赞吧!!创作不易,且行且珍惜。小铁在这里谢谢大家