Java Web之POI操作Excel2016模板

由于要批量生成Excel,并且模板已经给定。所以尝试用POI来操作一下。由于自己用的Office版本大于2007,所以在操作的时候遇到各种坑,特此记录一下~~~

注意点

1、由于POI对于Office2003和2007之后的版本对应的jar包不一样,操作的类也不一样,所以在操作之前一定要准确找到不同版本的Excel对应的jar包。
2、编译时不报错不代表运行不报错,很多操作都是POI在操作Excel时出现问题的,所以除了添加代码中需要Import类所在的jar包之外,必须要加入额外的jar包。

操作2007以上需要的jar包
img_da50accf4530982ca3dea1d8640e5740.jpe
必须的jar包.jpg

这些jar文件都不需要自己单独下载,只要去Apache下载 poi-bin-3.16-20170419.zip 就有了全部的资料。

img_b8d91f838c3dfd785674f4d3acd24eb0.png
对应的jar包.png
示例代码
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class POIExcel {

    public static void main(String[] args) throws IOException, InvalidFormatException {

        // 获取Excel模板文件
        File file = new File("D:\\座位分布图模板.xlsx");
        // 读取Excel模板
        XSSFWorkbook wb = new XSSFWorkbook(file);
        // 读取了模板内sheet的内容
        XSSFSheet sheet = wb.getSheetAt(0);
        // 在相应的单元格进行(读取)赋值 行列分别从0开始
        XSSFCell cell = sheet.getRow(14).getCell(8);
        cell.setCellValue("张三");
        // 修改模板内容导出新模板
        FileOutputStream out = new FileOutputStream("D:/座位分布图.xlsx");
        // 关闭相应的流
        wb.write(out);
        out.close();
        wb.close();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值