项目中需要读取一些客户提供的EXCEL文件
需要将这些数据保存到数据库中
这就需要使用POI对excel进行读取
主要思路:
1,使用POI读取excel中每行的数据作为一条记录,对应生成一条insert语句
2,需要对应字段,也就是Excel中的sheet对应表,列对应field
3,如果excel是模板式数据,即每列代表什么是规定好的,那么很简单,通过硬编码来实现
4,如果excel是动态的,列的顺序不固定,但是总体是固定的,那就需要通过字段匹配来实现了,硬编码就不可取啦!动态匹配思路:通过XML将映射关系对应起来,程序中读取XML将映射关系保存到MAP中,列名作为key,对应数据库中的field作为value。
5.使用POI读取每个cell的值,读完一行后就可以生成一条insert语句
另外,由于我所在项目中遇到的excel是固定的模板式数据,通过硬编码来读取excel的
即,针对每张sheet执行一次命令,在执行命令的时候传入需要的参数
在程序中将读取到的cell与field对应上就能生成正确的sql!
另外,在同事的建议下,将该功能写为了一个小工具
一个可执行的jar文件
其它同事只需要执行jar命令 并在后面传递参数就能生成SQL语句了!
--------------------------------------------------------------------
可执行jar
1.定义一个java类,类中有main方法
2.main方法的args[]参数接受输入的数据
3.完成功能
4.编写manifest文件,放置到src目录下
示例:
文件名: mymanifest.mf
内容如下(注意冒号后面加空格):
Manifest-Version: 1.0
Main-Class: scms.excel2sql.Excel2SqlService
Class-Path: lib/poi-3.6.jar
Created-By: hqh
5.命令行中通过命令生成jar
首先需要切换到src目录下,将lib文件夹拷贝到src目录下
jar cvfm excel2sql.jar mymanifest.mf ./
这样就生成了excel2sql.jar
6.执行jar
java -jar excel2sql.jar dir excelFileName sheetIndex tableName field1,field2,field3...
到此完成任务!
需要改进的地方:
由于现学现用,jar包好像没有将依赖的POI一并打入,或许是manifest中classpath路径配置有问题。将生成的jar文件放到其它地方时,会抛异常,发现是需要lib中的poi.jar,但是我打jar包时候程序输出表明已经打入了,对此不解。
当把lib放到jar的同级目录下时,就能正常执行。
空了再研究下,有点累!
分享到:
相关推荐
POI 读取Excel文件 POI 读取Excel文件
Java用poi读取excel文件Java用poi读取excel文件Java用poi读取excel文件
最新版poi 相关6个jar包 for java。Java读取Excel表格数据时(.xls、.xlsx 格式),需要引用的jar包 亲测as上可以读取到2010excel内容,内附读取源码
本案例中利用Apache Poi读取Excel用法,源码注释详细基本用法!
基于新版本的POI编写的读取Excel文件数据的工具类,可根据绝对路径、File对象、InputSteam对象读取解析Excel文件内容,并返回List<List<String>>格式结果,其中包含对单元格公式的处理。
将excel文件中的内容通过java文件读取出来,包括总行数,列数,单元格内容,合并单元格,行高,列宽,图片等信息。
Java用poi读取excel文件.pdf
之前用jxl发现不支持excel2007,不得以就去用poi实现excel的读取了!本人亲测的一个实例,支持excel2007!
使用poi解析excel文件,并将数据写入到数据库 项目说明 这个项目实现的功能是读取excel文件中的数据,解析并写入数据库。 读取的excel文件位于项目目录下的 excel\0805.xlsx 使用IntelliJ IDEA开发此项目 使用MYSQL...
java使用POI读取excel文件返回第一张sheet表
阐述如何用POI来读取/写入完整的Excel文件。
SpringBoot整合poi实现Excel文件的导入和导出,其中单独分装出一个ExcelFormatUtil工具类来实现对单元格数据格式进行判断。
NULL 博文链接:https://wxb-j2ee.iteye.com/blog/1489526
实现了JAVA 窗口,读取EXCEL文件,用poi读取EXCEL内容只是一个小例子
本资源是从之前的资源综合整理出来的代码,之前的代码不全,需要下载两次,为了...本资源解决的难题是导入大文件excel的时候,会报内存溢出的错误。 欢迎各位下载,解决用户的难题是我的宗旨,好的话给个评价,谢谢!
有时需要将excel文件的数据导入到数据库中,如何能快速而简单的将excel文件导入对不会的攻城狮们尤为重要,要干活向要jar包