2022年Excel导入,将数据导入到数据库 .pdf
《2022年Excel导入,将数据导入到数据库 .pdf》由会员分享,可在线阅读,更多相关《2022年Excel导入,将数据导入到数据库 .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java 实现上传 Excel文件,并读取数据插入到数据库中1、第一步当然是搭环境了,新建一个Web 项目,然后将需要的 jar 包加入,在这里只列出导入Excel 文件数据所需的jar包,其中包括:poi-3.0-rc4-20070503.jar、poi-contrib-3.0-rc4-20070503.jar、poi-scratchpad-3.0-rc4-20070503.jar,需要的包就这3 个了2、然后就是写代码了,当然是先前台然后写后台代码3、前台页面代码: 4、后台代码:/必须要说的是,导入Excel 文件数据到数据库,Excel 文件的格式必须都是文本格式的,如果不是文本格式的
2、话,导入的时候读取文件时会出错, 切记切记(ps:具体的可以不可以是其他的格式,这我就不是太清楚了,我反正试了,不行,如果有高手还可以有其他的办法,请给小弟分享一下,谢谢QQ:495537636)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 13 页 - - - - - - - - - public String Upload() throws Exception /这里需要强调一下,Excel文件有不止一个sheet页,所以这里根据你自己的具体情况而定,如果只有一个,
3、只要是sheet0就行了,只要记住开始是从sheet0,然后往后排就行了,以下例子是 3个sheet页try / String path = ServletActionContext.getServletContext().getRealPath(/);/ System.out.println(path=+path);/ String path1 = request.getContextPath();/ System.out.println(path1+path1);/ String realpath = path+upload;/ System.out.println(realpath=+r
4、ealpath);/ String propDir = PropertyUtil.getProperty(project.upload.dir);File file=this.getFile(); / System.out.println(=+realpath+this.getFileFileName();/ FileOutputStream fos=new FileOutputStream(realpath+this.getFileFileName();/ FileInputStream fis=new FileInputStream(file);/ byte buffer=new byte
5、1024;/ int len=0;/ while(len=fis.read(buffer)0)/ fos.write(buffer,0,len);/ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 13 页 - - - - - - - - - / this.context.put(message, 上传成功! );/ Anv06 anv06 = null;/ Anv07 anv07 = null;/ Anv08 anv08 = null;/ String readpath
6、 = realpath+this.getFileFileName();POIFSFileSystem ps = new POIFSFileSystem(newFileInputStream(file); HSSFWorkbook workBook = new HSSFWorkbook(ps); HSSFRow row = null; int rowNum = 0; /这里是第一个sheet页HSSFSheet sheet0 = workBook.getSheetAt(0);/ 获得 SHEET0 (索引)for (rowNum = 2; rowNum = sheet0.getLastRowNu
7、m(); rowNum+) String ywhj1 = ; String ywhj2 = ; String ywhj3 = ; String ywhj4 = ; row = sheet0.getRow(short) rowNum); if (row != null) / 获取当前行的 colNum位置的单元格/这里是你的 Excel文件中有多少列你就写多少了,也是从0开始的HSSFCell cell0 = row.getCell(short) 0); HSSFCell cell1 = row.getCell(short) 1); HSSFCell cell2 = row.getCell(sh
8、ort) 2); HSSFCell cell3 = row.getCell(short) 3); HSSFCell cell4 = row.getCell(short) 4); HSSFCell cell5 = row.getCell(short) 5); HSSFCell cell6 = row.getCell(short) 6); HSSFCell cell7 = row.getCell(short) 7); HSSFCell cell8 = row.getCell(short) 8); HSSFCell cell9 = row.getCell(short) 9); HSSFCell ce
9、ll10 = row.getCell(short) 10); HSSFCell cell11 = row.getCell(short) 11); HSSFCell cell12 = row.getCell(short) 12); HSSFCell cell13 = row.getCell(short) 13); HSSFCell cell14 = row.getCell(short) 14); HSSFCell cell15 = row.getCell(short) 15); HSSFCell cell16 = row.getCell(short) 16); HSSFCell cell17 =
10、 row.getCell(short) 17); HSSFCell cell18 = row.getCell(short) 18); HSSFCell cell19 = row.getCell(short) 19); HSSFCell cell20 = row.getCell(short) 20); HSSFCell cell21 = row.getCell(short) 21); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 13 页 - - - - - - - -
11、- HSSFCell cell22 = row.getCell(short) 22); HSSFCell cell23 = row.getCell(short) 23); HSSFCell cell24 = row.getCell(short) 24); anv06 = new Anv06(); if (cell0 != null) / 案件号 CNV601 第1列String str = swith(cell0.getCellType(), cell0).trim(); anv06 .setCnv601(str); if(cell1 != null) /案件题名 CNV104 第2列Stri
12、ng str = swith(cell1.getCellType(), cell1).trim(); anv06 .setCnv104(str); if(cell2 != null) /案件类型 CNV102 第3列String str = swith(cell2.getCellType(), cell2).trim(); anv06 .setCnv102(str); if(cell3 != null) /业务环节 1CNV103 第4列ywhj1 = swith(cell3.getCellType(), cell3).trim(); anv06 .setYwhj1(ywhj1); else
13、ywhj1 = ; if(cell4 != null) /业务环节 2 第5列ywhj2 = swith(cell4.getCellType(), cell4).trim(); anv06 .setYwhj2(ywhj2); else ywhj2 = ; if(cell5 != null) /业务环节 3 第6列ywhj3 = swith(cell5.getCellType(), cell5).trim(); anv06 .setYwhj3(ywhj3); else ywhj3 = ; if(cell6 != null) /业务环节 4 第7列ywhj4 = swith(cell6.getCe
14、llType(), cell6).trim(); anv06 .setYwhj4(ywhj4); else ywhj3 = ; if(cell7 != null) /业务代码类型CNV105 第8列名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - String str = swith(cell7.getCellType(), cell7).trim(); anv06 .setCnv105(str); if(cell8 != nu
15、ll) /业务代码CNV106 第9列String str = swith(cell8.getCellType(), cell8).trim(); anv06 .setCnv106(str); if(cell9 != null) /保管期限CNV114 第10 列String str = swith(cell9.getCellType(), cell9).trim(); anv06 .setCnv114(str); if(cell10 != null) /页数 CNV107 第11 列String str = swith(cell10.getCellType(), cell10).trim()
16、; anv06 .setCnv107(str); if(cell11 != null) /建档日期 CNV110 第12 列String str = swith(cell11.getCellType(), cell11).trim(); SimpleDateFormat formatter = newSimpleDateFormat(yyyy-mm-dd); Date date = formatter.parse(str); anv06 .setCnv110(date); if(cell12 != null) /建档人 CNV109 第13 列String str = swith(cell12
17、.getCellType(), cell12).trim(); anv06 .setCnv109(str); if(cell13 != null) /案卷号 CNV602 第14 列String str = swith(cell13.getCellType(), cell13).trim(); anv06 .setCnv602(str); if(cell14 != null) /备注 CNV108 第15 列String str = swith(cell14.getCellType(), cell14).trim(); anv06 .setCnv108(str); if(cell15 != n
18、ull) /组织机构代码CNV122 第16 列名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 13 页 - - - - - - - - - String str = swith(cell15.getCellType(), cell15).trim(); anv06 .setCnv122(str); if(cell16 != null) /单位名称 CNV117 第17 列String str = swith(cell17.getCellType(), cell17).t
19、rim(); anv06 .setCnv117(str); if(cell17 != null) /单位简称 CNV118 第18 列String str = swith(cell17.getCellType(), cell17).trim(); anv06 .setCnv118(str); if(cell18 != null) /社会保险登记证号CNV120 第19 列String str = swith(cell18.getCellType(), cell18).trim(); anv06 .setCnv120(str); if(cell19 != null) /参保人员姓名CNV121
20、第20 列String str = swith(cell19.getCellType(), cell19).trim(); anv06 .setCnv121(str); if(cell20 != null) /身份证号码 CNV123 第21 列String str = swith(cell20.getCellType(), cell20).trim(); anv06 .setCnv123(str); if(cell21 != null) /业务经办人 CNV124 第22 列String str = swith(cell21.getCellType(), cell21).trim(); an
21、v06 .setCnv124(str); if(cell22 != null) /业务经办日期CNV125 第23 列String str = swith(cell22.getCellType(), cell22).trim(); SimpleDateFormat formatter = newSimpleDateFormat(yyyy-mm-dd); Date date = formatter.parse(str); anv06 .setCnv125(date); if(cell23 != null) /模块名称 CNV129 第24 列String str = swith(cell23.g
22、etCellType(), 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 13 页 - - - - - - - - - cell23).trim(); anv06 .setCnv129(str); if(cell24 != null) /所属部门 CNV119 第25 列String str = swith(cell24.getCellType(), cell24).trim(); anv06 .setCnv119(str); if(!ywhj4.equals( ) a
23、nv06 .setCnv103(ywhj4); elseif(ywhj4.equals( )&!ywhj3.equals( ) anv06 .setCnv103(ywhj3); elseif(ywhj4.equals( )&ywhj3.equals( )&!ywhj2.equals( ) anv06 .setCnv103(ywhj2); elseif(ywhj4.equals( )&ywhj3.equals( )&ywhj2.equals( )&!ywhj1.equals( ) anv06 .setCnv103(ywhj1); Ans02 ans02 = (Ans02)this. sessio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Excel导入 将数据导入到数据库 2022 Excel 导入 数据 数据库
限制150内