Apache POI 第七讲之利用 POI 技术实现使用模板批量添加数据
2016-07-07 12:52
871 查看
有时候我们在做项目时,有些项目需要生成Microsoft Excel文件格式的报告。有时,甚至希望将Excel文件作为输入数据。这是我们需要用到Apache POI 。例如,本次利用 POI 技术实现使用模板批量添加数据。
2.查看结果
2.编写action类导出方法
3.编写页面
4.查看结果
下载上传模板
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.查看结果
相关文章推荐
- 我是运营,我没有假期
- Apache Isis 1.4.0 发布,领域驱动开发框架
- RH436 Day3 课后总结
- Linux快速构建apache web服务器
- Awstats处理多apache日志
- 安装perl模块小窍门
- Apache静态编译与动态编译的区别
- DB2数据库的安装
- C#实现把指定数据写入串口
- “传奇”图象数据存储方式
- 修复mysql数据库
- PHP+Apache在Windows 9x下的安装和配置
- Apache服务器配置全攻略
- Apache Web让JSP“动”起来
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- 浅析SQL数据操作语句
- SQLServer 数据导入导出的几种方法小结
- apache 环境下 php 的配置注意事项
- 简述MySQL分片中快速数据迁移