一、思路是这样的:
1.先做好一个Excel模板供用户下载,例如下图
2.用户使用模板填好数据,上传Excel文件到web后台,后台接收文件。
3.把用户上传的文件进行校验文件格式、字段是否符合要求,符合要求则解析数据,保存到数据库中,不符合要求则提示;
二、代码实现
1.要导入的数据JAVA对象如下:
public class Rfid extends BaseEntity{
//名称
private String name;
//藏品类别
private String rfidTypeId;
//藏品类别名称
private String rfidTypeName;
//藏品分类
private String typeName;
//藏品年代
private String age;
//设计师
private String stylist;
//品牌
private String brand;
//国家地区
private String contriesRegions;
//材质
private String texture;
//工艺
private String technology ;
//尺寸
private String measure;
//颜色
private String colour;
//入藏时间
private Date enterTime;
//包含藏品数量
private Integer rfidCout;
//藏品来源
private String source;
//馆藏状态
private Integer rfidState=0;
//关键词
private String keyword;
//曾被引用
private String quote;
//关联藏品
@Transient
private String relevance;
//保险
private String insurance;
//藏品编号
private String typeNumber;
//出入库状态
private Integer status=0;
//仓库位置信息
private String locationInformation;
//描述
private String description;
//省略get、set方法
}
2.Excel表格导入后,处理代码如下
/**
* 读取出filePath中的所有数据信息
* @param filePath filePath excel文件的绝对路径
* @param cellNameList 要读取的对应表头名
* @return
*/
public static List<String[]> getDataFromExcel(String filePath,List<String> cellNameList )throws Exception{
List<String[]> resultList = new ArrayList<>(