资源简介
通用的解析excel的工具类,适合xls和xlsx两种类型。同时针对特殊数据类型和空行做了处理
代码片段和文件信息
package net.virtue.common.fileUtil;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import lombok.extern.slf4j.Slf4j;
import net.virtue.model.DroneAircraft;
@Slf4j
public class ExlUtil {
/* 解析excel工具类使用方法demo */
public static void main(String[] args) {
File excelFile = new File(“D://无人机批量上传模板 (5).xlsx“);
int sheetNum = 0;
int startRowNum = 1;
int startColumn = 0;
Map relMap = new HashMap();
relMap.put(0 “serialNumber“);
relMap.put(1 “model“);
relMap.put(2 “emptyWeight“);
relMap.put(3 “maxTaskLoad“);
relMap.put(4 “maxTakeOffWeight“);
relMap.put(5 “maxCruisingSpeed“);
relMap.put(6 “maxEnduranceMileage“);
relMap.put(7 “maxEnduranceTime“);
relMap.put(8 “manufacturerCode“);
try {
List list = paserExcel2Obj(excelFilesheetNumstartRowNumstartColumnDroneAircraft.classrelMap);
for (DroneAircraft droneAircraft : list) {
System.out.println(droneAircraft);
}
System.out.println(“parse success“);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 将excel转化为javaBean
* @param excelFile 待读取的excel文件
* @param sheetNum sheet页序号(取值从0开始)
* @param startRowNum 数据起始行号(若第一行为标题行,则起始行号为1)
* @param startColumn 数据起始列号(若从第一列开始,则起始列号为0)
* @param claz 目标对象javaBean
* @param relMap javaBean的属性与excel列的对应关系 例:map.put(0“username“);
map.put(1“password“);
*
* @return List
* @throws InstantiationException
* @throws InvocationTargetException
* @throws IllegalAccessException
* @throws IOException
*/
public static List paserExcel2Obj(File excelFile int sheetNum int startRowNum int startColumn
Class claz Map relMap)throws IllegalAccessException InvocationTargetException InstantiationException IOException {
List list = new ArrayList<>();
/* 1、读入文件 */
Workbook workbook = readExcel(excelFile);
/* 2、解析excel */
if (workbook != null) {
Sheet sheet = workbook.getSheetAt(sheetNum);
int lastRowNum = sheet.getLastRowNum();
list = paserSheet2Obj(sheet startRowNum startColumn lastRowNum cl
相关资源
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
评论
共有 条评论