如何嵌入java实现复杂Excel数据入库

本篇文章为大家展示了如何嵌入 java 实现复杂Excel数据入库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、做网站、荔城网络推广、成都微信小程序、荔城网络营销、荔城企业策划、荔城品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供荔城建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

一般常规办法:先使用POI或者HSSFWorkbook等第三方类库对其表格数据结构化,再用SQL语句写入数据库。由于Java并没有表格对象,总要利用集合加实体类去实现(硬编码),如果碰到格式复杂的表格,解析难度大,工作量会成倍增加,代码不仅冗长、且很难通用。

比如要处理这么个场景:数据库表Logistics有3个字段:Shippers、Region、Quantity。解析如下Excel表格,并入库:

如何嵌入 java 实现复杂Excel数据入库

入库后的效果:

如何嵌入 java 实现复杂Excel数据入库

Java代码大概要写成这样子:

...

File target = new File(filepath, filename);

FileInputStream fi = new FileInputStream(target);

HSSFWorkbook wb = new HSSFWorkbook(fi);

HSSFSheet sheet = wb.getSheetAt(sheetnum);

int rowNum = sheet.getLastRowNum() + 1;

for (int i = startrow; i < rowNum; i++) {

        PageData varpd = new PageData();

        HSSFRow row = sheet.getRow(i);

        int cellNum = row.getLastCellNum();

        ...

        }

...

List listPd = (List)ObjectExcelRead.readExcel(filePath, fileName, 3, 0, 0);             

for(int i=0;i

        pd.put("ET_ID", this.get32UUID());

        ...

        }      

/*The operation to import the database*/

mv.addObject("msg","success");  

...

如果有了集算器,这样的问题则会简单很多,它是专业处理结构化数据的语言,能够轻松读取Excel数据,结构化成“序表”后导入数据库。以往需要编写数千行代码才能完成的Excel数据结构化入库工作,现在只需简单的几行就搞定了。比如上面的问题,集算器SPL仅3行:


A

1

=file("/workspace/crosstab.xls").xlsimport@t(;1,2).rename(#1:Shippers)

2

=A1.pivot@r(Shippers;Region,Quantity)

3

=MySQL.update(A2,Logistics)

其实还有很多类似的结构化问题不太方便,但有集算器SPL的辅助却很简单。

上述内容就是如何嵌入 java 实现复杂Excel数据入库,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


分享文章:如何嵌入java实现复杂Excel数据入库
网站网址:http://myzitong.com/article/gcgsoi.html