Java Web之POI操作Excel2016模板

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

注意点

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

操作2007以上需要的jar包

Java Web之POI操作Excel2016模板_第1张图片
必须的jar包.jpg

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

Java Web之POI操作Excel2016模板_第2张图片
对应的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();
    }
}

你可能感兴趣的:(Java Web之POI操作Excel2016模板)