- 浏览: 75113 次
文章分类
最新评论
1.页面
2.控制层
3.导入
UpForm = Ext.extend(Ext.form.FormPanel, { id: 'up_form_id', constructor: function(config) { var newConfig = {}; Ext.apply(newConfig, config || {}, { idProperty: 'up_form', labelWidth: 80, border: false, frame: true, autoScroll: true, fileUpload : true, buttonPosition : 'bottom', bodyStyle: "padding: 8px", trackResetOnLoad: false, defaults: { border: false, bodyStyle: 'padding: 5px 25px 5px 5px;', layout: 'form', labelWidth: 120 }, items: [{ xtype: 'textfield', fieldLabel: '文件名称', id: 'form_file', inputType: 'file', allowBlank: false, blankText: '文件名称不能为空.', anchor: '90%' // anchor width by percentage },{ xtype: 'hidden', name: 'fileName' }] , buttonAlign:'center', buttons : [{ text : '上传',//提交按钮 iconCls: 'icon_disk', handler : function(){ if(upForm.getForm().isValid()){ var fileName = upForm.form.findField("form_file").getValue(); // upForm.form.findField("fileName").setValue(fileName); // alert(fileName); upForm.form.submit({ waitMsg : '正在上传文件,请稍候......',//提示信息 waitTitle : '请稍候',//标题 url : jutil.getRootPath()+'/nurseInfoImport.do', method : 'post', success : function(form, action) { Ext.MessageBox.alert('提交失败', action.result.msg); Ext.getCmp("form_file").reset(); }, failure:function(form,action){//加载失败的处理函数 Ext.Msg.alert('提示','导入失败!'); } }); } } },{ text: '取消', iconCls: 'icon_cancel', handler: function() { var grid=Ext.getCmp(config.title_id); grid.hide(); }.createDelegate(this) }] }); UpForm.superclass.constructor.call(this, newConfig); } });
2.控制层
package com.alensic.nursing.sysmgr; import java.io.IOException; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.tomcat.util.http.fileupload.DiskFileUpload; import org.apache.tomcat.util.http.fileupload.FileItem; /** * 人员信息导入 * @author * */ public class NurseInfoImportServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { try { String tempPath = ""; System.out.println("开始进行文件上传"); request.setCharacterEncoding("UTF-8"); DiskFileUpload fu = new DiskFileUpload(); fu.setSizeMax(100*1024*1024); // 设置最大文件尺寸,这里是4MB fu.setSizeThreshold(4096); // 设置缓冲区大小,这里是4kb fu.setRepositoryPath(tempPath); // 设置临时目录 List fileItems = fu.parseRequest(request); // 得到所有的文件: Iterator i = fileItems.iterator(); // 依次处理每一个文件: while (i.hasNext()) { FileItem fi = (FileItem) i.next(); String fileName = fi.getName();// 获得文件名,这个文件名包括路径: if (fileName != null) { ImportExcel importNurse = new ImportExcel(); importNurse.importExcel(fi.getInputStream()); } } } catch (Exception e) { e.printStackTrace(); // 可以跳转出错页面 response.getWriter().print("{success:flase,message:'失败'}"); } } }
3.导入
package com.alensic.nursing.sysmgr; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.helix.core.context.MyApplicationContext; import com.alensic.nursing.hrmgr.NurseInfoDAO; /** * 人员信息导入excel * @author zhchen * */ public class ImportExcel { private Map map = new HashMap(); //错误信息 private List<Map> errorList = new ArrayList<Map>(); //excel中字段与数据库中的字段对应 private String excelRelationDataBase[][]={{"姓名","name"},{"性别","gender"},{"出生日期","birthday"}}; /** * 根据传入的文件创建工作簿 * * @author zhchen * @param filename * @return */ public List importExcel(InputStream filename){ try { HSSFWorkbook wb = new HSSFWorkbook(filename); return importExcel(wb); }catch (IOException e) { e.printStackTrace(); } return null; } /** * 导入excel * * @author zhchen * @param wb * @param user * @return */ public List importExcel(HSSFWorkbook wb) { map.clear(); errorList.clear(); List addList = new ArrayList(); HSSFSheet sheet = wb.getSheetAt(0); int firstRowNum = sheet.getFirstRowNum(); int lastRowNum = sheet.getLastRowNum(); //数组转换成集合 Map excelMap = this.ArrayToMap(excelRelationDataBase); //取得excel表头对应的序列号和表对应的字段 Map excelToData = this.excelHeaderToMap(sheet, excelMap, 0); for(int h = firstRowNum +1; h <= lastRowNum ;h++){ Map dataMap = new HashMap(); HSSFRow dataRow = sheet.getRow(h); //遍历需要保存到数据库的字段 Iterator it = excelToData.keySet().iterator(); for(;it.hasNext();){ int index = Integer.valueOf(it.next().toString()); dataMap.put(excelToData.get(index), dataRow.getCell(index)); } if(!dataMap.isEmpty()) addList.add(dataMap); } //保存 NurseInfoDAO nurseInfoDAO = dogetNurseDAO(); nurseInfoDAO.createBatch(addList); return null; } /** * 数组转换成集合 * * @author zhchen */ private Map ArrayToMap(String array[][]){ Map map = new HashMap(); int length = array.length; for(int i=0;i<length;i++){ map.put(array[i][0], array[i][1]); } return map; } /** * 取得excel表头对应的序列号和表对应的字段 * * @author zhchen * @param sheet 工作表 * @param excelmap 需要导入字段的集合 * @param rowNum 取excel第几行的表头 * * @return */ private Map excelHeaderToMap(HSSFSheet sheet,Map excelmap,int rowNum){ Map map = new HashMap(); HSSFRow dataRow = sheet.getRow(rowNum); int firstCellNum = dataRow.getFirstCellNum(); int lastCellNum = dataRow.getLastCellNum(); for(int i=firstCellNum;i<lastCellNum;i++){ String headerName = dataRow.getCell(i).toString(); Object tableHeaderName = excelmap.get(headerName); if(tableHeaderName != null){ map.put(i, tableHeaderName); } } return map; } /** * 取得DAO * * @author zhchen */ private NurseInfoDAO dogetNurseDAO(){ return (NurseInfoDAO)MyApplicationContext.getContext().getBean("nurseInfoDAO"); } }
发表评论
-
java生成word和pdf的几种方法
2014-05-22 10:40 1063引用1、Jacob是Java-COM Bridge的缩写,它在 ... -
excel单元格的宽度设置
2013-12-25 10:15 894sheet.setColumnWidth(columnSize ... -
excel打印边距设置
2013-12-25 10:14 484HSSFSheet sheet = workb ... -
excel导出
2013-07-19 15:35 797/** * 导出excel * 导出的excel只 ... -
jsp图片不在工程内的显示
2013-06-24 16:14 5601.src=‘请求路径’ 2.后台代码 public vo ... -
excel导入和导出--poi
2012-12-13 15:43 7561.jar包 网站http://www.apache.org/ ...
相关推荐
4.17.1 导入样式表 154 4.17.2 包含样式表 155 4.18 模板规则冲突的解决 156 4.19 [xsl:output]元素 157 4.19.1 指定输出文档的格式 158 4.19.2 输出xml声明 158 4.19.3 输出文档类型定义 159 4.19.4 输出...
主要内容包括web应用程序运行原理、主流集成开发工具(eclipse/myeclipse)和运行环境(tomcat)的配置和使用、servlet、jsp、jdbc、jsp表达式语言(el)、servlet监听器和过滤器、定制标记库、jstl、mvc模式、dao...
使用原始的servlet操作熟悉EJB的实体管理。 本实例主要功能:实现对员工、角色、账号、部门的关系管理。 本实例的实体设计:部门-员工:一对多。员工-账号:一对一。账号-角色:一对一。 主要采用EJB进行会话管理。...
JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part02
JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part54
**JSP+Servlet+JavaBean+JDBC简单登录实例详解** 在Web开发中,构建一个用户登录系统是常见的需求。本实例将详细讲解如何利用JavaServer Pages (JSP)、Servlet、JavaBean以及Java Database Connectivity (JDBC) 来...
Servlet实例化、初始化、服务和销毁的过程,以及JSP转化为Servlet的过程。 3. **部署描述符** - web.xml文件是Web应用的部署描述符,定义了Servlet和JSP的相关配置,如Servlet映射、初始化参数等。 4. **EL...
[21世纪计算机程序设计实例丛书+-+Visual+.pdf
JavaWeb-Servlet技术的监听器-解析与实例-网站在线用户信息与网页点击量 ----------------------------------- JavaWeb-Servlet技术的监听器-解析与实例-网站在线用户信息与网页点击量 ----------------------------...
计算机导论第5章办公软件应用素材和实例-excel实例-食品公司销售情况(结果)
本工程实例是将Ext Gantt与Java Web技术,即jsp(JavaServer Pages)和servlet结合的示例项目。 1. **Ext Gantt详解**: - **组件化设计**:Ext Gantt遵循MVC(Model-View-Controller)架构,允许开发者独立地处理...
在这个"Ext Gantt + jsp + servlet 工程实例"中,我们将探讨如何将Ext Gantt与Java后端技术,即JSP和Servlet相结合,构建一个完整的Web应用。 1. **Ext Gantt**: Ext Gantt是Ext JS组件库的一部分,提供了一套完整...
【标题】"jsp+servlet+sql server购物车实例"是一个基于Web开发的电子商务应用程序,它展示了如何使用JavaServer Pages(JSP)、Servlet和Microsoft SQL Server数据库来实现一个基本的在线购物车功能。在这个实例中...
它们可以被Servlet或JSP通过Java反射机制实例化并操作,提供数据的存取方法。 **三、MVC框架实现步骤** 1. **创建JavaBean**:首先,定义一个JavaBean类,包含业务相关的属性和方法,用于存储和操作数据。 2. **...
2. **ServletConfig接口**:每个Servlet实例都有一个ServletConfig对象,用于传递初始化参数给Servlet。 3. **HttpServletRequest和HttpServletResponse接口**:这些接口代表了来自客户端的HTTP请求和发送回客户端...
综上所述,基于JSP+Servlet+JavaBean的图书管理系统是一个典型的Web应用实例,它融合了前端展示、后端处理和数据存储等多个环节,为学习Java Web开发提供了实践平台。通过这个项目,开发者可以深入理解Web开发的基本...
4.17.1 导入样式表 154 4.17.2 包含样式表 155 4.18 模板规则冲突的解决 156 4.19 [xsl:output]元素 157 4.19.1 指定输出文档的格式 158 4.19.2 输出xml声明 158 4.19.3 输出文档类型定义 159 4.19.4 输出...
本项目"jsp+servlet+jdbc学生信息管理系统"就是这样一个典型的应用实例,它采用经典的MVC(Model-View-Controller)架构模式,利用Java Web技术栈,包括JSP、Servlet和JDBC,实现了对学生信息的高效管理。...
NPOI和EPPlus实现.NET的Excel导入导出操作(类库+操作类+实例) NPOI实现.NET的Excel导入导出功能,EPPlus实现Excel的导出单个和多个Worksheet操作;可兼容各种版本的 Office 和 WPF 文件的打开,简单实用,里面有...
ext实例-合同查询管理 Ext JS is a cross-browser JavaScript library for building rich internet applications. High performance, customizable UI widgets Well designed, documented and extensible ...