Apache POI库来创建和操作并下载Excel文件

第一步:需要引入的maven依赖

<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>5.0.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>5.0.0</version>
    </dependency>
</dependencies>

或:

          <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>3.17</version>

            </dependency>

            <dependency>

                <groupId>org.apache.poi</groupId>

                <artifactId>ooxml-schemas</artifactId>

                <version>1.3</version>

            </dependency>


第二步:创建一个EXCEL

// 创建一个工作簿
Workbook workbook = new XSSFWorkbook();
// 创建一个工作表
Sheet sheet = workbook.createSheet("table");
// 创建一行
Row row = sheet.createRow(0);
// 创建一个单元格并设置值
Cell cell = row.createCell(0);
cell.setCellValue("第一个excel");


第三步:增加单元格样式

// 设置单元格样式 
CellStyle cellStyle = workbook.createCellStyle(); 
// 设置边框 
cellStyle.setBorderBottom(BorderStyle.THIN); cellStyle.setBorderLeft(BorderStyle.THIN); cellStyle.setBorderRight(BorderStyle.THIN); cellStyle.setBorderTop(BorderStyle.THIN);
// 设置单元格样式 
cell.setCellStyle(cellStyle); 
// 合并单元格参数:开始行,结束行,开始列,结束列 
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 1));
// 设置自动换行 cellStyle.setWrapText(true);

//合并单元格边框消失的解决方式
CellRangeAddress cellRangeAddress1 = new CellRangeAddress(1, 1, 0, 7);
sheet.addMergedRegion(cellRangeAddress1);
RegionUtil.setBorderBottom(BorderStyle.THIN, cellRangeAddress1, sheet);
RegionUtil.setBorderLeft(BorderStyle.THIN, cellRangeAddress1, sheet);
RegionUtil.setBorderRight(BorderStyle.THIN, cellRangeAddress1, sheet);
RegionUtil.setBorderTop(BorderStyle.THIN, cellRangeAddress1, sheet);



第四步:将工作簿写入文件并下载

// 设置响应头 response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
String fileName = "中文文件名.xlsx";
String encodedFileName = URLEncoder.encode(fileName, "UTF-8").replace("+", "%20"); response.setHeader("Content-Disposition", "attachment; filename="+encodedFileName ); 
// 将工作簿写入响应输出流 workbook.write(response.getOutputStream()); 
// 关闭工作簿 workbook.close();


                
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值