Apache POI 第七讲之利用 POI 技术实现使用模板批量添加数据
来源:互联网 发布:美女软件 编辑:程序博客网 时间:2024/05/24 00:02
有时候我们在做项目时,有些项目需要生成Microsoft Excel文件格式的报告。有时,甚至希望将Excel文件作为输入数据。这是我们需要用到Apache POI 。例如,本次利用 POI 技术实现使用模板批量添加数据。
下载上传模板
1.编写页面
function downloadTemplate(){ window.open('template/userExporTemplate.xls');}
2.查看结果
利用 POI 技术实现使用模板批量添加数据
1.编写导出工具类
public static String formatCell(HSSFCell hssfCell){ if(hssfCell==null){ return ""; }else{ if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){ return String.valueOf(hssfCell.getBooleanCellValue()); }else if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){ return String.valueOf(hssfCell.getNumericCellValue()); }else{ return String.valueOf(hssfCell.getStringCellValue()); } }}
2.编写action类导出方法
public String upload()throws Exception{ POIFSFileSystem fs=new POIFSFileSystem(new FileInputStream(userUploadFile)); HSSFWorkbook wb=new HSSFWorkbook(fs); HSSFSheet hssfSheet=wb.getSheetAt(0); // 获取第一个Sheet页 if(hssfSheet!=null){ for(int rowNum=1;rowNum<=hssfSheet.getLastRowNum();rowNum++){ HSSFRow hssfRow=hssfSheet.getRow(rowNum); if(hssfRow==null){ continue; } User user=new User(); user.setName(ExcelUtil.formatCell(hssfRow.getCell(0))); user.setPhone(ExcelUtil.formatCell(hssfRow.getCell(1))); user.setEmail(ExcelUtil.formatCell(hssfRow.getCell(2))); user.setQq(ExcelUtil.formatCell(hssfRow.getCell(3))); Connection con=null; try{ con=dbUtil.getCon(); userDao.userAdd(con, user); }catch(Exception e){ e.printStackTrace(); }finally{ dbUtil.closeCon(con); } } } JSONObject result=new JSONObject(); result.put("success", "true"); ResponseUtil.write(ServletActionContext.getResponse(), result); return null; }
3.编写页面
<div id="dlg2" class="easyui-dialog" style="width:400px;height:180px;padding:10px 20px" closed="true" buttons="#dlg-buttons2"> <form id="uploadForm" action="user!upload" method="post" enctype="multipart/form-data"> <table> <tr> <td>下载模版:</td> <td><a href="javascript:void(0)" class="easyui-linkbutton" onclick="downloadTemplate()">导入模版</a></td> </tr> <tr> <td>上传文件:</td> <td><input type="file" name="userUploadFile"></td> </tr> </table> </form> </div>
function uploadFile(){ alert("1"); $("#uploadForm").form("submit",{ success:function(result){ var result=eval('('+result+')'); if(result.errorMsg){ $.messager.alert("系统提示",result.errorMsg); }else{ $.messager.alert("系统提示","上传成功"); $("#dlg2").dialog("close"); $("#dg").datagrid("reload"); } } });}
4.查看结果
0 0
- Apache POI 第七讲之利用 POI 技术实现使用模板批量添加数据
- Apache POI 第六讲之利用Excel模板实现数据的批量导出
- Apache POI 第五讲之利用POI 实现数据的批量导出
- 使用apache poi 实现Excel批量导入
- Java poi实现导出excel,添加数据有效性,生成模板
- POI:数据批量导出、按模板导出
- POI模板批量输入
- java 使用POI批量导入excel数据
- java 使用POI批量导入excel数据
- POI批量导出数据
- Apache POI实现数据的Excel导出
- Apache POI实现数据的Excel导入
- springmvc整合apache-poi实现数据下载
- poi实现Excel模板化数据读写
- 使用Apache POI处理EXCEL数据
- POI:使用EXECL模板 填入数据
- 使用POI操作Excel修改模板(批量替换excel中的数据)
- 利用POI实现将Excel表格中的数据批量导入数据库中
- NTFS文件系统-MFT的属性头
- 4.回调函数和事件
- 111---细谈Hibernate数据库事务与隔离级别
- SpringMVC重定向——有参传递
- 5. node.js 的 模块(Module)和包(Package)
- Apache POI 第七讲之利用 POI 技术实现使用模板批量添加数据
- 黑马程序员_Java基础_我的Day05学习笔记
- 字符串搜索
- 远程桌面之终端服务器超出了最大允许连接数
- js实现图片轮播
- 黑马程序员_Java基础_我的day06学习笔记
- Codeforces Round 361 div2
- centos配置yum本地源
- 用cookie实现保存密码