excel poi的titleRows 和 headRows含义

  • titleRows
    这个参数的意思是:excel标题占多少行,而不是第几行
  • headRows
    这个参数的意思是:excel表头占几行,而不是第几行(多行的意思是合并的行数)

比如有一个excel如下,1-2行是标题,3-4行是表头,他们都合并了。

那么代码可以这样设置:

java 复制代码
ImportParams params = new ImportParams();
//这个参数的意思是:excel标题占多少行,而不是第几行
params.setTitleRows(2);
//这个参数的意思是:excel表头占几行,而不是第几行(多行的意思是合并的行数)
params.setHeadRows(2);
//表格sheet数量
params.setSheetNum(1);

//从第几个表格开始读 默认0
//params.setStartSheetIndex(1);
//读取的表格sheet数量
//params.setSheetNum(1);

上传示例:

java 复制代码
    @RequestMapping("/importExcel")
    public String importExcel(@RequestParam("file") MultipartFile file, Model model) {
        List<Province> provinces = null;
        InputStream inputStream = null;
        try {
            ImportParams params = new ImportParams();
            //这个参数的意思是:excel标题占多少行,而不是第几行
            params.setTitleRows(2);
            //这个参数的意思是:excel表头占几行,而不是第几行(多行的意思是合并的行数)
            params.setHeadRows(2);
            //表格sheet数量
            params.setSheetNum(1);

            inputStream = file.getInputStream();
            provinces = ExcelImportUtil.importExcel(inputStream, Province.class, params);
            //把导入的信息输出到控制台
            for(Province pro:provinces) {
                System.out.println(pro);
            }
        } catch (Exception e) {
            model.addAttribute("msg","导入失败");
            e.printStackTrace();
        }finally {
            //这里注意释放资源:import org.apache.tomcat.util.http.fileupload.IOUtils;
            //否则会报错
            IOUtils.closeQuietly(inputStream);
        }
        model.addAttribute("msg","导入成功");
        return "importExcel";
    }

最后finally里注意释放资源,否则可能会报类似如下错误:

s.w.m.s.StandardServletMultipartResolver : Failed to perform cleanup of multipart items

java.io.UncheckedIOException: Cannot delete C:\Users\username\AppData\Local\Temp\tomcat.8080.xxxx\work\Tomcat\localhost\ROOT\upload_xxxx_00000000.tmp

相关推荐
流形填表13 小时前
题库迁移实战:Excel中间格式与列映射
python·excel
泡海椒19 小时前
JQuick-Excel JQuickRow 数据准备实战:JObjectConverter、JQuickRow.toRows 与 XML 导出链路
xml·windows·excel
是枚小菜鸡儿吖2 天前
TraceBack:基于TextIn xParse,统一解析PDF/Word/Excel/扫描件/截图,自动交叉核验维修报告真伪,带原文出处,让造假无处遁形
pdf·word·excel
gudufy3 天前
EasyAdminBlazor Excel 导入源码解析:数据验证、权限与事务如何处理?
excel·blazor·admin
copilot中国版3 天前
Copilot + Excel鱼骨图:让根因分析从“凭经验”变成“有依据”
人工智能·excel·copilot
泡海椒3 天前
JQuick-Excel 字段映射实战:用 MAPPING 固化 Excel 表头与业务字段契约
xml·java·开发语言·excel
开开心心就好3 天前
视频模糊怎么修复?免费工具支持批量处理
java·前端·人工智能·智能手机·pdf·excel
Data-Miner3 天前
能处理Excel表的AI怎么选?脚本能复用,一次买断后期不烧 token
大数据·人工智能·excel
Andreapiki4 天前
数据分析师校招技术备考指南:SQL、Python、统计学、BI学习路径
sql·excel
DolphinDB智臾科技4 天前
插件上新 | 让 Excel 数据更顺畅地接入 DolphinDB
大数据·excel