首页 > 其他分享 >POI解析excel的sheet名称和表头

POI解析excel的sheet名称和表头

时间:2024-12-17 11:22:00浏览次数:5  
标签:BusinessException sheet excel 表头 vo new throw

前提:需要引入POI的jar包。

 

public class TemplateFileSheetParseVO {

/**
* 表名称
*/
private String tableName;

/**
* 列名称
*/
private List<String> columnNames;
}
private TemplateFileSheetParseVO extractContent(File file, Integer sheetIndex) throws IOException {

Workbook wb = WorkbookFactory.create(new FileInputStream(file));
try {
Sheet sheet = wb.getSheetAt(sheetIndex);
String sheetName = sheet.getSheetName();
Row headerRow = sheet.getRow(0);
if(headerRow == null){
throw new BusinessException("第" + (sheetIndex + 1) + "个sheet,不存在表头");
}
int columnCount = sheet.getRow(0).getLastCellNum();
if(columnCount <= 0){
throw new BusinessException("表头不存在");
}
List<String> headers = new ArrayList<>();

for (int i = 0; i < columnCount; i++) {
Cell cell = headerRow.getCell(i);
headers.add(cell.getStringCellValue());
}

TemplateFileSheetParseVO vo = new TemplateFileSheetParseVO();
vo.setTableName(sheetName);
vo.setColumnNames(headers);
return vo;
} catch (BusinessException e) {
throw e;
}catch (Exception e) {
log.error("", e);
throw new BusinessException("-1", e.getMessage());
} finally {
try {
if (wb != null) {
wb.close();
}
} catch (IOException e) {
log.info(e.getMessage());
}
}
}

标签:BusinessException,sheet,excel,表头,vo,new,throw
From: https://www.cnblogs.com/maohuidong/p/18611926

相关文章

  • Document Solutions for Excel crack
    DocumentSolutionsforExcelcrackDocumentSolutionsforExcelv8.0.0introducesprogrammaticsupportforwhat-ifanalysiswithscenarios,elevatingdecision-makinginExcel.DocumentSolutionsforExcelbyMESCIUSisacomprehensivetooldesi......
  • 【数据分享】2008-2023年我国省市县三级的逐日NO2数据(免费获取\excel\shp格式)
    空气质量数据是在我们日常研究中经常使用的数据!之前我们给大家分享了2000-2023年的省市县三级的逐日PM2.5数据、2000-2023年的省市县三级的逐日PM10数据、2013-2023年的省市县三级的逐日SO2数据和2000-2023年省市县三级的逐日O3数据(可查看之前的文章获悉详情)!本次我们分享的是......
  • QT使用promoted后样式(setStyleSheet)不生效
    1.理解promoted(提升)在Qt中的概念在QtDesigner中,“提升(Promoted)”是一种机制,它允许你使用自定义的部件类来替代标准的Qt部件类。这在你已经创建了一个从标准Qt部件(如QListWidget)派生的自定义部件(如ListMenu)并且希望在设计器环境中使用它时非常有用。2.样式不生效的......
  • 4个Excel数据查找替换技巧,让数据分析更高效!
    大家好,我是小鱼。    大家都知道,要想数据分析处理的结果准确率到达100%,必须要有良好的数据源,只有“好”的数据,才有好的结果!所以,要想做好数据分析处理,对数据替换必不可少。今天就跟大家分享4个Excel数据查找替换技巧,简单实用,职场必备!技巧一、查找替换法1、如图所示,我......
  • FastExcel 合并单元格(相当的行数据,进行合并)
    目录需求思路实现Excel导出单元格全量合并策略日期格式转换接口代码ServiceDTO使用FastExcel数据导出:官网:https://idev.cn/fastexcel/zh-CN需求信用代码、填报人,唯一时,将:信用代码、单位名称、填报人,进行row合并,并垂直居中对齐思路这边不需要做列合并,所以采用了RowWrite......
  • EXCEL生成助记码宏
    1、打开要生成的EXCEL文件,选择工具--宏---VisualBasic编辑器(快捷键:alt+f11)2、选择:插入--模块--把下方的代码粘贴到里面,保存。3、代码4、保存后,回到EXCEL内容编辑界面。5、在需要生成助记码的地方。输入公式=pinyin(相应的汉字单元格)。注意:1、启用宏2、列格式为常......
  • Vue3 - 最新实现在线预览Excel文件(xls/xlsx)多种方案,解析打开excel电子表格支持服务
    前言如果您需要Vue2版本,请访问这篇文章。在vue3项目开发中,详解实现预览excel表格功能,在浏览器中直接打开xls/xlsx文件并渲染效果,vue3预览excel文件教程,文件来源可以是在线url地址、前端调用api接口获取文件流(先下载)等,预览方式可以新开浏览器页签或者自定义弹框等......
  • WPF TreeView实现固定表头
    1、在WPF中TreeView默认不支持固定表头的我们可以修改样式实现固定表头 新建一个TreeListView类然后继承TreeView代码如下publicclassTreeListView:TreeView,IDisposable{publicTreeListView(){//this.Loaded+=TreeListView_Loa......
  • Qt QHeaderView自绘实现表头双击编辑
    在使用QTreeWidget展示数据时,想要让表头可以编辑。但是QTreeWidget并没有提供这样的API。于是想到了,通过QHeaderView自绘去实现这样的需求。效果图:头文件://CustomHeader.h#pragmaonce#include<QHeaderView>#include<QLineEdit>#include<QHeaderView>#inclu......
  • Vue2 - 最新详细实现在线预览Excel文件(xls/xlsx)多种方案,解析打开excel电子表格支持
    前言如果您需要Vue3版本,请访问。在vue2|nuxt2项目开发中,详解实现预览excel表格功能,在浏览器中直接打开xls/xlsx文件并渲染效果,文件来源可以是在线url地址、前端调用api接口获取文件流(先下载)等,预览方式可以新开浏览器页签或者自定义弹框等方式,兼容任意高低版本浏......