java poi将excel文件导入sql service数据库

Gavin_W 发布于 2017/03/08 11:11
阅读 454
收藏 0

最近需要将Excel文件中3000多条数据中的几列导入到SqlServer数据库,由于以前没做过,所以请教各位大神

加载中
0
gitlab_sam
gitlab_sam

才三千多条的话,用POI读取成List,再将你需要的列设置到实体类中,做成List再批量插入到数据库(hibernate,mybatis,jdbc等均可),大致思路,具体代码也不复杂,希望能帮到你

Gavin_W
Gavin_W
主要是以前没有接触过,所以比较棘手
0
SunJiong
SunJiong

就是使用poi把excel中内容获取组成一个对象集合,导入数据库就是常规的循环插入呗

0
RickyLi
RickyLi

建一个实体对象映射excel中的列,读取excel中的列转为List, 使用batch对数据库进行批量插入

0
QPCB
QPCB

很简单,使用poi无非就是导入和倒出数据,当然首先使用前你应该先百度一下什么叫做sheet,什么叫做cell和row,当然poi里面有几个对先记着:第一个:HSSFWorkbook(用来加载我们要导入的excel,相当于取得一本书),第二个:HSSFSheet(得到sheet页,得到书了当然也得到书本中的每一页),接下来我们当然应该遍历这个sheet得到每一行,要想拿到数据得到每一行当然不行,我们还需要拿到列:给你取个例子把,页面上使用poi插件

$("#button").upload({
            action:'${pageContext.request.contextPath}/xxx.action'
            name:'myFile',//上传的输入框的名称
               onComplete:一个function方法(具体怎么用看情况)

代码里:
            HSSFWorkbook workbook = new HSSFWorkbook(
                    new FileInputStream(myFile));//得到我们的excel

            HSSFSheet sheet = workbook.getSheetAt(0); 、、加载第一个sheet(多个的话不用我说了吧。。)

            然后循环sheet页,获得每一行数据
            for (Row row : sheet) {
               int rowNum = row.getRowNum();
                if (rowNum == 0) {
                    continue;
                }    、、 一般第一行为文件的标题行可以判断,飞过去它 ,你可以试试不写什么样子。

            接下来根据行获得某一列值
                String value1 = row.getCell(0).getStringCellValue();
                String value2 = row.getCell(1).getStringCellValue();

    然后把它封装到你的对象里。。当然每一行都要封装,所以最开始你就要县创建个集合。。。集合对象你自己封装吧

              

Gavin_W
Gavin_W
问题已经解决了,但是还是谢谢你的解答。嘿嘿。。。
返回顶部
顶部