- 浏览: 1652322 次
- 性别:
- 来自: 福州
文章分类
- 全部博客 (583)
- strust2.0 (14)
- hibernate2.0 (5)
- java (13)
- javaScript (59)
- AJAX (8)
- TFS (6)
- 其它 (20)
- CSS (23)
- asp (18)
- Dojo (5)
- 项目管理 (3)
- SQLServer (25)
- oracle (26)
- .NET (221)
- 开源系统 (6)
- 常识 (41)
- 软件架构 (1)
- My SQL (1)
- SilverLight (10)
- Flex (1)
- window7 (1)
- 网络安全 (2)
- CMS (1)
- ECShop (4)
- 邮件系统 (9)
- Linq (0)
- 淘宝店铺经营宝典 (0)
- flash插件 (1)
- Hubble.net全文检索 (1)
- 在线编辑器 (1)
- 正则表达式 (1)
- 创业 (1)
- asp.net mvc (1)
- 全文检索 (0)
- 全文检索 HubbleDotNet (1)
- Android (27)
- TFS bin (1)
最新评论
-
z小小Jean:
有具体的解决方法吗
用命名imp导入DMP时报无法解析指定的连接标识符的解决办法 -
njoiop:
这些都是常用接口,IP地址、手机归属和身份证查询接口,基站定位 ...
IP地址、手机归属和身份证查询接口 -
Fs_sky:
那导出DMP如何包含序列等其他东西?
在plsql中如何导出dmp文件 -
qiywtc:
请问该怎么判断视频的格式再选择对应的播放格式来播放啊?
asp.net各种类型视频播放代码(全) -
xinghenhouzi:
楼主说的版本不同无法导入导出是什么意思?我用10g的exp.e ...
在plsql中如何导出dmp文件
JSP页面代码
Action层代码
Facade层代码
<s:form action="" method="post" name="importForm" enctype="multipart/form-data"> <table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" class="info-table"> <tr> <td class="info-left" align="right" width="40%"><font color="red">*</font>请选择导入文件:</td> <td class="info-right" align="left"> <input name="filePath" type="file" size="30"> <input type="button" name="Submit" value="导入数据" onClick="onSubmit();"> </td> </tr> <s:if test="#request.results!=null"> <tr> <td class="info-right" colspan="2"> 成功插入的记录的条数: <s:property value="#request.results.get(0)" /> 条 </td> </tr> <tr> <td class="info-right" colspan="2"> excel中非法的记录的条数: <s:property value="#request.results.get(1)" /> 条 </td> </tr> <s:if test="#request.illegalNotes!=null"> <tr> <td class="info-right" colspan="2"> 不合法的记录的字段如下所示: <s:iterator value="#request.illegalNotes" status="listStat"> <li> <s:property /> </li> </s:iterator> </td> </tr> </s:if> </s:if> </table> </s:form>
Action层代码
public String importCarModi()throws SystemException{ HttpServletRequest request = ServletActionContext.getRequest (); List<Integer> results = new ArrayList<Integer>(); List<String> illegalNotes = new ArrayList<String>();//非法的字段的错误的提示 Map session = ActionContext.getContext().getSession(); String operatorCode = (String)session.get(SysConstant.OPERATOR_ID); log.info("filePath="+filePath); if (filePath == null){ request.setAttribute("tip", "请选择导入的excle的路径"); return Constants.Dispatcher.TO_IMPORT_DATA; } try { carInsModificationFacade.importCarModi(filePath,results,illegalNotes,operatorCode); request.setAttribute("results", results); if (results.get(1)!=0){ request.setAttribute("illegalNotes", illegalNotes); } return Constants.Dispatcher.TO_IMPORT_DATA; } catch (FacadeException e) { e.printStackTrace(); throw new SystemException("导入非车险批单信息失败!e.message="+ e.getMessage()); } }
Facade层代码
public void importCarModi(String filePath,List<Integer> results,List<String> illegalNotes,String operatorCode) throws FacadeException{ log.info(">>>>>>>>>>根据用户选定的filepath="+filePath+"导入excel文件到数据库开始......"); int legalPolicyNum = 0; int illegalPolicyNum = 0; try{ InputStream ExcelResource = new FileInputStream(filePath); Workbook ExcelWB = Workbook.getWorkbook(ExcelResource); Sheet ExcelRS = ExcelWB.getSheet(0); int rows = ExcelRS.getRows(); if (rows > 0) { for (int i = 1; i < rows; i++) {// 注意要从第二行开始读取excel中的值 List<String> illegalStr = new ArrayList<String>(); CarInsModificationInfo modification = new CarInsModificationInfo(); String modificationCode = ExcelRS.getCell(1, i).getContents();//批单号 // log.info("ModificationCode="+ModificationCode); if (!StringUtils.isBlank(modificationCode)){ String carRegEx = "\\w{11}(19|20)\\d{2}P\\d{6}"; boolean isCarIns = Pattern.compile(carRegEx,Pattern.CASE_INSENSITIVE).matcher(modificationCode).find(); if (isCarIns) { modification.setModificationCode(modificationCode); if (illegalStr.size()==0) {//批单号合法,则开始检查该批单号在数据库中是否存在 if (carInsModificationDAO.checkIsExist("CarInsModificationInfo", "modificationCode", modificationCode)) { illegalStr.add("第"+i+"条记录的批单号"+modificationCode+"在数据库中已经存在"); } } } else { illegalStr.add("第"+i+"条记录的批单号:"+modificationCode+"不符合车险批单的规则!"); } }else{ illegalStr.add("第"+i+"条记录的批单号为空,数据库中该字段的为主键,不能为空!"); } String policyCode = ExcelRS.getCell(0, i).getContents();//保单号 //检查该保单号在数据库中是否已经存在 boolean isExist = carInsModificationDAO.checkIsExist("CarInsPolicy", "policyCode", policyCode); if (StringUtils.isBlank(policyCode)){ illegalStr.add("第"+i+"条记录中的保单号为空,数据库中该字段不能为空!"); } if (!isExist){ illegalStr.add("第"+i+"条记录中的保单号为:"+policyCode+"在保单表中不存在!"); } if (!StringUtils.isBlank(policyCode) && isExist) { modification.setPolicyCode(policyCode); } if (!StringUtils.isBlank(ExcelRS.getCell(2, i).getContents()) && illegalStr.size() == 0){ String mstateCode = ExcelRS.getCell(2, i).getContents().substring(1,2);//取出批单状态代码 modification.setMstateCode(mstateCode); } if (!StringUtils.isBlank(ExcelRS.getCell(3, i).getContents())){ String mtypeCode = ExcelRS.getCell(3, i).getContents().substring(1,3);//取出批改类型代码 //要检查这个代码在这个代码表中是否存在 if(!carInsModificationDAO.codeIsExist("CmodiType",mtypeCode)){ illegalStr.add("第"+i+"条记录中的批改类型的代码,在代码表中不存在!"); }else{ //因为建立了关联,所以要以对象的形式插入 CmodiType cmodiType = new CmodiType(); cmodiType.setCode(mtypeCode); modification.setCmodiType(cmodiType); } } if (!StringUtils.isBlank(ExcelRS.getCell(4, i).getContents()) && illegalStr.size() == 0){ Double insChange = Double.parseDouble(ExcelRS.getCell(4, i).getContents()); //保费变化 modification.setInsChange(insChange); } if (!StringUtils.isBlank(ExcelRS.getCell(5, i).getContents()) && illegalStr.size() == 0){ Date modifyTime = DateFormater.parseStr2DateTime(ExcelRS.getCell(5, i).getContents(),DateFormater.YY_MM_DD);//签单日期 modification.setModifyTime(modifyTime); } if (illegalStr.size() != 0){//如果不为空,则说明该记录中有不规范的字段存在,将其记入非法保单数组 illegalPolicyNum++; illegalNotes.addAll(illegalStr); //将该记录的非法字段的提示记入非法提示字符串 }else{//如果为空则说明该记录中的所有的字段都是合法的,将其记入合法的保单对象数组 legalPolicyNum++; modification.setMstateCode("5");//将要可以导入数据库的数据的状态设为有效 modification.setCreateTime(new Date()); //导入数据的时间和人即为创建记录的时间和人 modification.setOperatorCode(operatorCode); carInsModificationDAO.saveEntity(modification); } } results.add(legalPolicyNum); //成功插入的记录的条数 results.add(illegalPolicyNum);//非法的记录的条数 } }catch (Exception e){ throw new FacadeException("取出excel数据失败"+e); } log.info(">>>>>>>>>>根据用户选定的filepath="+filePath+"导入excel文件到数据库完成......"); }
发表评论
-
用<s:tree/>构造动态树
2008-08-22 10:07 6773例将会把WEB应用程序的目录树展现在JSP页面中。因此,我需要 ... -
表现层框架Struts/Tapestry/JSF架构比较
2008-08-19 10:43 1350板桥里人 http://www.jdon.com 2005/0 ... -
struts2页面传递list对象到action[尚未解决的问题]
2008-08-13 16:47 7828页面中的代码为: <script type=&qu ... -
struts2 在jsp页面显示后台生成的HTML
2008-08-07 10:03 2639只要在<s:property value="n ... -
引入AJAX后在fireFox中出现this.element is null
2008-08-04 10:18 2279struts2 在引入AJAX后在fireFox中出现this ... -
引入my97 datepicker后在firefox中出现$dp.$ is undefine
2008-08-04 10:11 2350struts2 引入my97 datepicker后在fire ... -
struts2.0 实现图片上传实例
2008-07-29 09:32 9681嵌入编辑页面的代码 <tr> ... -
导出excel数据
2008-07-25 14:19 1671struts.xml配置 引用 <result name ... -
Struts 2中实现文件下载(修正中文问题)
2008-07-24 14:53 1576在BlogJava上已经有一位作者阐述了文件上传的问题,地址是 ... -
Struts2控制文件下载
2008-07-24 14:51 34451 使用Struts2控制文件下载 可能很多人会觉得,文件下 ... -
struts中#、%和$这三个符号的使用方法【摘自max struts2教程】
2008-06-15 16:25 2710一、"#"的用法 1、 访问OGNL ... -
开发的过程,避免出现乱码的做法【摘自Maxstruts2教程】
2008-06-15 16:23 2147乱码多数是由于编码与解码所使用的方式不同造成的,所以我 ... -
strust2实践总结
2008-06-12 22:26 21671:在action中定义的变量,在jsp页面中显示用:< ...
相关推荐
在IT行业中,将Excel数据导入SQL Server是一项常见的任务,尤其在数据分析、报表生成以及数据库管理等领域。本资源提供了一个C#编程实现的解决方案,允许用户在客户端直接将Excel文件的数据导入库中。以下是对这个C#...
本项目标题为“C#从excel导入数据到sql server”,它提供了一个使用C#编程语言解决此类问题的解决方案。下面我们将深入探讨这个话题,了解如何通过C#实现Excel数据到SQL Server的导入。 1. C#编程语言:C#是一种...
3. **数据导入过程**:Excel数据导入SQL工具通常会提供一个用户友好的界面,用户可以指定Excel文件路径、选择目标数据库和表,甚至配置数据映射。在导入过程中,工具会自动或手动将Excel列与数据库表字段匹配,确保...
总的来说,实现"asp.net页面实现Excel数据导入SqlServer"涉及到多个步骤:文件上传、Excel数据读取、数据转换、数据库操作。在这个过程中,我们可以使用ASP.NET的内置控件、.NET的Excel组件、SQLDMO库以及第三方工具...
首先,要将DBF文件导入SQL Server,你需要遵循以下步骤: 1. 创建SQL Server数据库表:在SQL Server Management Studio (SSMS) 中,根据DBF文件中的字段定义创建一个新表。表结构应与DBF文件的字段对应,确保数据...
总的来说,"SQLSERVER表导入EXCEL小工具"是一个方便的桥梁,它利用.NET的Interop技术,有效地将SQL Server的强大数据库功能与Excel的分析和展示能力相结合,为数据处理提供了一个高效且用户友好的解决方案。...
在将数据从Excel导入SQL Server之前,必须确保两者的数据类型匹配。例如,Excel中的日期/时间字段可能需要转换为SQL Server兼容的格式。此外,还需要处理空值和特殊字符,避免在导入过程中出现错误。 #### 步骤四:...
在Excel导入场景下,可以创建一个存储过程来处理批量插入,确保数据正确地被添加到数据库中。存储过程还可以处理错误,进行事务控制,确保数据的一致性。 5. **Struts框架**:Struts是基于MVC(模型-视图-控制器)...
标题中的“Excel自定义字段分步导入SQLServer2000 PB9源码”涉及到的知识点是使用PowerBuilder 9(PB9)开发的一个应用程序,该应用能够将用户自定义的Excel字段数据逐步导入到SQL Server 2000数据库中。在数据处理...
总之,Excel数据导入SQL是一个常见的数据迁移任务,通过asp.net+C#的组合,我们可以实现用户友好的Web应用,轻松地将Excel数据导入到SQL数据库,从而更好地管理和分析数据。这个过程需要对数据库操作、文件I/O以及...
1. **数据导入过程**:通常,Excel数据导入SQL工具会提供一个用户友好的界面,用户可以指定要导入的Excel文件路径,选择目标SQL数据库(如MySQL、SQL Server、Oracle等),并设定连接参数(如服务器地址、数据库名、...
标题中的"Delphi 从EXCEL文件导入到SQLSERVER数据表中 源码"指的是一个使用Delphi编程语言编写的程序,该程序能够将数据从Excel文件读取并导入到SQL Server数据库的特定表中。这个过程通常涉及到数据迁移或数据整合...
本文将详细探讨如何将Excel文件导入SQL数据库,以及涉及的相关技术,如C#编程和Visual Studio 2010(VS2010)的使用。 首先,Excel是一款由Microsoft开发的电子表格程序,它允许用户进行数据存储、计算和分析。而...
4. Excel到SQL Server导入:使用SSIS包设计数据流任务,或者通过Excel ODBC连接直接在SQL Server Management Studio中导入。 5. SQL Server到Excel导出:利用SSIS包或T-SQL的SELECT INTO OUTFILE命令生成CSV文件,...
在“SQL_SERVEROV数据导入导出.exe”这个文件中,很可能包含了这样的功能集,提供了一个用户友好的图形化界面,帮助用户快速完成SQL Server数据库的数据导入导出工作。通过这款工具,数据库管理员和开发者可以更高效...
在这个特定的压缩包中,"ASP.NET-[其他类别]Excel导入SQLserver源码.zip" 提供了一个示例项目,展示了如何将Excel数据导入到SQL Server数据库。这个功能在数据分析、报表生成或批量数据处理等场景中非常常见。 首先...
"EXCEL导入到SQL数据库"这个主题涉及到如何将Excel中的数据有效地整合到结构化的SQL Server数据库中,以便进行更高效的数据管理和查询。 首先,让我们详细了解一下Excel。Excel是一款由Microsoft开发的电子表格应用...
在ASP.NET中,将Excel文件导入到SQL Server数据库是一项常见的数据操作任务,尤其适用于大量数据的批量处理。本文将详细讲解这一过程中的关键步骤、所用技术以及注意事项。 首先,你需要确保你有以下的开发环境: 1...
在Web环境下,将数据从Excel导入到Microsoft SQL Server数据库是一个常见需求,这个过程可能会遇到多种问题。本文将详细介绍这些常见问题,并提供相应的解决方案,最后给出一个用C#实现数据校验和导入功能的程序示例...
总之,Excel数据导入数据库是一个涉及数据预处理、数据库连接、SQL语句构造和执行的过程。在开发中,我们需要考虑数据的完整性和准确性,以及性能优化。对于Web应用,可以结合前端页面实现用户友好的交互,使数据...