资源简介
通用的解析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
相关资源
- java英汉电子词典课设
- mysql-connector-java-5.1.7-bin.jar
- 用Java实现P2P网络模型
- JAVA ldap AD 域 免证书 查询 修改 删除
- JAVA烟花效果源码
- sql+java+设计文档(完整的课程设计
- 开发常用游戏昵称 java 随机
- java实现发送邮箱邮件
- 在线答题系统java-socket
- 生命游戏JAVA版魔改过
- new_system重新命名
- FastDFS1.2jar包
- obj模型,java3d加载
- JAVA/JSP的英文参考文献及翻译 只要2积
- Java版移动臂调度算法4种
- JAVA课程设计打印日历含GUI
- fastdfs-client-java.zip
- 基于Servlet技术的B/S聊天室
- java实现kafka生产消费数据接口
- java项目视频20套最新地址.txt
- 数据结构Java约瑟夫环
- java语言程序设计1-10章课后答案代码
- java宠物系统
- 用java做出聊天工具
- 数据结构课程设计报告java+哈夫曼树
- javaweb.txt
- java超市管理系统实训报告
- jbig和bmp互转
-
ba
se64.java - Java学生成绩管理系统57584
评论
共有 条评论