- 浏览: 606477 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (263)
- 默认类别 (0)
- STRUTS HIBERNATE (2)
- STRUTS SPRING HIBERNATE (18)
- SOA/WEB service (8)
- PORTAL (3)
- 想法和设计思想 (17)
- SMARTEAM 二次开发 (0)
- ACTIVEBPEL (0)
- ERP (0)
- EAI (0)
- 甲醇汽油 (0)
- webwork freemarker spring hibernate (1)
- 工作流技术研究 (1)
- ROR (5)
- 搜索引擎 (7)
- 3.非技术区 (0)
- 1.网站首页原创Java技术区(对首页文章的要求: 原创、高质量、经过认真思考并精心写作。BlogJava管理团队会对首页的文章进行管理。) (2)
- 2.Java新手区 (2)
- 4.其他技术区 (0)
- ESB (1)
- Petals ESB (6)
- 手机开发 (1)
- docker dedecms (1)
最新评论
-
w630636065:
楼主,期待后续!!!!!!!!
生成文本聚类java实现 (2) -
zilong513:
十分感谢楼主,期待后续。
生成文本聚类java实现 (2) -
qqgoodluck:
可否介绍一下您的选型依据,包括Petal ESB与MULE等E ...
Petals ESB 简介 -
jackiee_cn:
写的比较清楚,学习了
Petals ESB 集群实战 -
忙两夜:
你好,能发一下源代码吗
抓取口碑网店铺资料
很久没有发BLOG,呵呵,是因为最近在帮助朋友在做一个项目,很忙。呵呵,我觉得生活就应该是这样,年轻时候的忙碌是为年老时候的悠闲吧。
主要涉及内容及技术:
javaexcel api
jasonreport及编辑工具ireport和数据库技术。
导入及导出EXCEL解决思路:
使用javaexcel api导入普通的EXCEL表格,就是没有合并单元格的规范数据,如果导出有规则的EXCEL也使用JAVAEXECEL API,对中文支持比较好。
如果要导出报表可打印的EXCEL,使用ireport为工具图形化画出报表,并使用jasonreprt控制导出,展示给客户端。
主要代码有:
连接数据库的方法:
导入EXCEL的程序代码:
导出报表的代码:
主要涉及内容及技术:
javaexcel api
jasonreport及编辑工具ireport和数据库技术。
导入及导出EXCEL解决思路:
使用javaexcel api导入普通的EXCEL表格,就是没有合并单元格的规范数据,如果导出有规则的EXCEL也使用JAVAEXECEL API,对中文支持比较好。
如果要导出报表可打印的EXCEL,使用ireport为工具图形化画出报表,并使用jasonreprt控制导出,展示给客户端。
主要代码有:
连接数据库的方法:
java 代码
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.Hashtable;
- import java.util.Vector;
- import org.apache.log4j.Logger;
- public class DBOperate {
- /**
- * 得到sequence的nextval
- * @param sequenceName
- * @return
- */
- public static String getSequence(String sequenceName) {
- String nextval = "";
- if(sequenceName == null || "".equals(sequenceName)) {
- System.out.println("sequenceName name is null!");
- return null;
- } else {
- sequenceName = sequenceName.toUpperCase();
- String sql = "select " + sequenceName + ".nextval nextid from user_sequences where sequence_name = '"
- + sequenceName + "'";
- Statement stmt = null;
- Connection conn = null;
- ResultSet rs = null;
- try {
- conn = TreatDB.getConnDB("");
- if (conn != null) {
- stmt = conn.createStatement();
- rs = stmt.executeQuery(sql);
- if(rs != null) {
- while(rs.next()) {
- nextval = rs.getString("nextid");
- }
- }
- }
- } catch (SQLException e) {
- System.out.println("SQLException : " + e);
- } finally {
- try {
- if(rs != null) rs.close();
- if(stmt != null) stmt.close();
- if(conn != null) conn.close();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- }
- }
- return nextval;
- }
- }
- /**
- * 一个插入、更新数据表的通用方法,传入一个sql脚本
- * @param sql :要进行操作的脚本
- * @return :发生变化的条数
- */
- public static int updateSql(String sql) {
- String dbName = "";
- Connection conn = null;
- Statement stmt = null;
- int result = 0;
- try {
- conn = TreatDB.getConnDB(dbName);
- if (conn != null) {
- stmt = conn.createStatement();
- //logger.info(sql);
- result = stmt.executeUpdate(sql);
- conn.commit();
- }
- } catch (SQLException e) {
- try {
- conn.rollback();
- } catch (SQLException e1) {
- System.out.println("update sql error: "+e);
- }
- System.out.println("update sql error: "+e);
- System.out.println("sql: " + sql);
- } finally {
- try {
- if (stmt != null)
- stmt.close();
- if (conn != null)
- conn.close();
- } catch (Exception ex) {
- //do nothing;
- }
- }
- return result;
- }
- }
java 代码
- /**
- * 将Excel文件中的数据添加到数据库中
- * 新的监理信息 modify by heweiya
- *
- * @param xlsFile,Excel文件
- * @return
- */
- public String addJLXlsForm(InputStream is) {
- String errStr = "";
- String result = "";
- try {
- Workbook rwb = Workbook.getWorkbook(is);
- // Workbook rwb = Workbook.getWorkbook(new File(filePath+fileName));
- // 获取第一张Sheet表
- Sheet sheet = rwb.getSheet(0);
- // 获取总列数
- int rsColumns = sheet.getColumns();
- System.out.println("rsColumns = " + rsColumns);
- // 获取总行数
- int rsRows = sheet.getRows();
- System.out.println("rsRows = " + rsRows);
- if (rsColumns < 19) {
- errStr = "错误原因:字段不全。";
- vErr.addElement(errStr);
- }
- int i = 0;
- int startRows = 1;
- int startColumn = 0;
- while (startRows < rsRows) {
- Hashtable ht = new Hashtable();
- String zj_id = DBOperate.getSequence("S_JIANLI");
- Cell tmp = sheet.getCell(0,startRows);
- String sfzh = tmp.getContents();
- tmp = sheet.getCell(1,startRows);
- String issueDate = tmp.getContents();
- String issueDate_new = "";
- if(issueDate != null && issueDate.length()>=6) issueDate_new = issueDate.substring(6) + issueDate.substring(3,5) + issueDate.substring(0,2);
- tmp = sheet.getCell(2,startRows);
- String approveDate = tmp.getContents();
- String approve_date_new = "";
- if(approveDate != null && approveDate.length()>=6) approve_date_new = approveDate.substring(6) + approveDate.substring(3,5) + approveDate.substring(0,2);
- tmp = sheet.getCell(3,startRows);
- String cerNo = tmp.getContents();
- tmp = sheet.getCell(4,startRows);
- String jianliMajor = tmp.getContents();
- tmp = sheet.getCell(5,startRows);
- String department = tmp.getContents();
- tmp = sheet.getCell(6,startRows);
- String jianliName = tmp.getContents();
- tmp = sheet.getCell(7,startRows);
- String jianliSex = tmp.getContents();
- //毕业院校
- tmp = sheet.getCell(8,startRows);
- String degree = tmp.getContents();
- //毕业时间
- tmp = sheet.getCell(9,startRows);
- String cooleage = tmp.getContents();
- //所学专业
- tmp = sheet.getCell(10,startRows);
- String company = tmp.getContents();
- //职务
- tmp = sheet.getCell(11,startRows);
- String tech_post = tmp.getContents();
- // 工作单位
- tmp = sheet.getCell(12,startRows);
- String address = tmp.getContents();
- // 职称
- tmp = sheet.getCell(13,startRows);
- String postcode = tmp.getContents();
- tmp = sheet.getCell(14,startRows);
- String jianliTel = tmp.getContents();
- tmp = sheet.getCell(15,startRows);
- String mobile = tmp.getContents();
- tmp = sheet.getCell(16,startRows);
- String email = tmp.getContents();
- tmp = sheet.getCell(17,startRows);
- String birthday = tmp.getContents();
- String birthday_new = "";
- if(birthday != null && birthday.length()>=6) birthday_new = birthday.substring(6) + birthday.substring(3,5) + birthday.substring(0,2);
- tmp = sheet.getCell(18,startRows);
- String jianli_type = tmp.getContents();
- //加入密码 modify by heweiya 2007/05/17
- String sql = "insert into jianli values('" + zj_id + "', '" + sfzh + "', to_date('" + issueDate_new + "','yyyymmdd'),to_date('"
- + approve_date_new + "','yyyymmdd'),'" + cerNo + "','" + jianliMajor + "','" + department + "','"
- + jianliName + "','" + jianliSex + "','" + degree + "','" + cooleage + "','"
- + company + "','" + tech_post + "','" + address + "','" + postcode + "','" + jianliTel
- + "','" + mobile + "','" + email + "',to_date('" + birthday_new + "','yyyymmdd'),'" + jianli_type + "',null,null,null,null,"+sfzh.substring(0, 10)+",null,null,null,null,null)";
- int a = DBOperate.updateSql(sql);
- System.out.println("成功导入第"+startRows+"条");
- if (a == 0) {
- errStr = errStr + "添加失败:库中已有此记录,或有值不符合库中设定的字段属性!";
- } else if (a == 1) {
- result = "添加成功";
- } else {
- errStr = errStr + "添加失败:连接数据库失败";
- }
- if (!"".equals(errStr)) {
- vErr.addElement("导入:" + "【" + startRows + "】" + "<br>(错误原因:" + errStr);
- errStr += "导入:" + "【" + startRows + "】" + "<br>(关键字段为:姓名:"+jianliName+",身份证号为:"+sfzh+",监理证书号为:"+cerNo+")<br>";
- } else {
- vOk.add(ht);
- }
- startRows++;
- }
- rwb.close();
- result = "成功导入:" + vOk.size()+"条记录。<br> 错误导入: " + vErr.size()+"条记录,错误记录及原因如下:<br>"+errStr;
- System.out.println("vOK.size() = " + vOk.size());
- System.out.println("VErr.size() = " + vErr.size());
- return result;
- } catch (Exception e) {
- result = "在导入的过程当中发生了错误,其中错误的原因是:" + e.toString();
- return result;
- }
- }
java 代码
- /**
- *
- * 导出报表
- *
- * @param
- * @return
- * @throws
- */
- public ActionForward ExportXLS(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- HttpSession session = request.getSession();
- String CerNo = (String) session.getAttribute("CerNo");// 登录名
- String JianliName = (String) session.getAttribute("JianliName");// 角色ID
- if (CerNo == null || JianliName == null) {
- return mapping.findForward("Fail");
- }
- File business_rpt = new File(getServlet().getServletConfig()
- .getServletContext().getRealPath("/report/water_jianli.jasper"));
- JasperPrint jasperPrint = null;
- Map parameters = new HashMap();
- Jianli jianli = personalDAO.GetJianli(CerNo);
- ReportModel report_user = new ReportModel();
- report_user.setCol1(jianli.getJianliName());// 姓名
- report_user.setCol2(jianli.getJianliSex());// 性别
- report_user.setCol3(jianli.getDegree());// 学历
- report_user.setCol4("'" + jianli.getSfzh());// 身份证
- report_user.setCol5(jianli.getTechPost());// 职称
- report_user.setCol6(jianli.getCerNo());// 证书编号
- report_user.setCol7(jianli.getJianliMajor());// 监理专业
- if (jianli.getOrgs() != null) {
- report_user.setCol8(jianli.getOrgs().getOrgName());// 隶属单位
- }
- report_user.setCol10(jianli.getAddress());
- report_user.setCol11(jianli.getJianliTel());
- /**
- * 加入简历的东东
- */
- List Ljianli = assistDAO.GetEngineerAssist(CerNo);
- if (Ljianli != null) {
- for (int i = 0; i < Ljianli.size(); i++) {
- Assistant assist = (Assistant) Ljianli.get(i);
- String begindate = "";
- String enddate = "";
- SimpleDateFormat sfDate = new SimpleDateFormat("yyyy/MM/dd");
- if (assist.getBegindate() != null) {
- begindate = sfDate.format(assist.getBegindate());
- }
- if (assist.getEnddate() != null) {
- enddate = sfDate.format(assist.getEnddate());
- }
- String deptname = (assist.getAtdeptname() == null)?"":assist.getAtdeptname();
- String zewu = (assist.getAssistname() == null)?"":assist.getAssistname();
- String huihua = "开始日期为:" + begindate + ",结束日期为:" + enddate
- + ",所在工作单位"+deptname+",担任职务为:" + zewu+"。";
- if (assist.getOther() != null){
- &nbs
发表评论
-
Eclipse当中两种远程调试方法
2011-01-05 11:17 2278基于Maven管理的项目,在eclipse当中有两种调 ... -
[翻译]使用Maven创建google Appengine
2010-05-06 15:35 2184原文请参考:http://www.salientpoin ... -
Not must be hibernate.properties or hibernate.cfg.xml
2010-03-05 13:47 1307Sometimes, Custom have ext ... -
使用yourkit java profiler进行性能分析
2010-01-28 17:00 4462说明: YourKit Java Profile ... -
试用Hibernate二级缓存Ehcache
2010-01-28 15:50 1861Hibernate supports several t ... -
给你的应用加入简易Licence限制
2009-06-01 15:01 3166有的时候,客户会提出这样的需求,他们的应用能不能当 ... -
优化hibernate的一招。
2007-11-09 10:20 1668原来的程序: java 代码 List Lre ... -
JSF+A4J+Spring调用ORACLE存贮过程的拙作
2007-08-17 09:35 2820近一周写了一个简单的工具,本工具是通过Spring ... -
hibernate3.2上使用UserType范例
2007-07-27 13:57 3200仔细看看hibernate的DOC发现不少惊奇的东东 ... -
三个JAVA文件完成jsf+spring+hibernate的集成.
2007-07-16 17:43 3673呵呵,本文章只贡献给哪些走捷径的coder, 开发工具:mye ... -
Myeclise5.5自动生成spring2.0+hibernate3.2+jsf1.1时的错误
2007-07-16 15:25 11149我使用myeclipse5.5分别加入hibernate3.2 ... -
ORACLE SQL语句in超过1000个的处理方法
2007-06-25 16:21 11265表现的情况: sql 代码 Hibernate ... -
近期完成的一个较大的JS验证
2007-03-02 11:18 3612呵呵,近期偶完成的一个较大的JS验证,行家一看就 ... -
使用SSH+Freemarker做新闻发布系统
2007-02-07 17:18 9083最近, ... -
三个JAVA文件完成你的MVC应用
2006-09-25 16:23 5723只需要你三个JAVA类和两个配置文件,就可以完成你的MVC应用 ... -
struts标签,请你走开(系列一)
2006-09-25 16:07 4935在项目开发的很多 ... -
用二维数组管理好你零乱的状态、分类和其它常用选项
2006-09-25 15:01 4018在大家的编码过程当中,有没有遇到过这么一种情况,很多零乱的状态 ...
相关推荐
- 数据校验:在将Excel数据导入数据库前,进行数据格式和完整性检查。 - 错误处理:捕获并处理可能出现的异常,如文件读取错误、数据库连接失败等。 - 性能优化:大量数据导入时,可以使用批处理操作,减少与数据库...
1. **Excel到数据库**: 当你需要将Excel中的数据存储到数据库中时,可以使用SQL Server Management Studio (SSMS) 的“导入和导出数据”工具。该工具支持从Excel文件直接导入数据到SQL Server表中,只需要指定Excel...
其次,从数据库导出数据到Excel则相对简单: 1. 查询数据:使用SQL语句查询需要导出的数据,可以是整个表,也可以是满足特定条件的部分数据。 2. 输出格式设置:确定数据导出的格式,例如CSV或TSV,这两种格式可以...
在本项目中,"SpringBootMybatis+poi+Thymeleaf实现excel文件数据导入到数据库以及从数据库将数据导出成excel.zip",我们主要关注的是如何利用Java技术栈来处理Excel文件,并与数据库进行交互。以下是相关知识点的...
4. **Power Query/Microsoft Query**:Power Query(在Excel 2016及以后版本中)或Microsoft Query(在较早版本中)允许用户通过查询语言直接与SQL Server交互,支持数据的导入和导出。 5. **编程接口**:对于自动...
首先,我们来看Excel导入数据库的过程。通常,这涉及到读取Excel文件的数据并将其存储到数据库中。在Python中,我们可以使用pandas库来处理Excel文件(通过`pandas.read_excel()`函数)和SQLAlchemy库来与数据库进行...
在Java编程环境中,将Excel数据导入到数据库以及将数据库数据导出到Excel是常见的数据处理需求。本篇文章将深入探讨如何使用Java实现这两个功能,主要涉及的技术栈包括Apache POI库用于操作Excel,以及JDBC(Java ...
在本项目中,"spring boot+mybatis plus+easy poi实现数据库导出成excel和excel导入到数据库",开发者利用了Spring Boot、MyBatis Plus和EasyPoi库来实现了一个功能强大的数据交互系统,允许用户将数据库中的数据...
这个"asp将EXCEL导入导出数据库原程序"提供了一个解决方案,能够方便地将Excel中的数据存入MSSQL数据库,同时也能将数据库中的数据导出到Excel文件。 首先,我们需要了解如何使用ASP连接MSSQL数据库。通常,这涉及...
### Excel导入数据到Oracle数据库详解 #### 一、前言 在日常工作中,我们经常会遇到需要将Excel中的数据批量导入到Oracle数据库的情况。这一过程不仅可以提高工作效率,还能确保数据的一致性和准确性。本文将详细...
4. Excel插件:例如,SQL Server有SQL Server Import and Export Wizard,可以导出Excel数据到SQL Server。 5. 自定义脚本:使用VBA(Visual Basic for Applications)编写宏,实现Excel数据的自动化导入。 四、...
在IT领域,Excel和数据库之间的数据交互是常见的需求,特别是...无论是Excel导入数据库还是数据库数据导出到Excel,都需要对数据格式、数据转换、异常处理和性能优化有深入的理解,以确保数据的准确性和系统的稳定性。
标题中的“EXCEL导入数据库及反向导出 源代码”指的是使用编程技术实现Excel文件与数据库之间的数据交换。这种操作在数据处理和分析中非常常见,特别是在需要大量数据导入到数据库进行处理或者从数据库导出数据进行...
总的来说,熟练掌握数据库和Excel之间的导入导出技巧,对于数据工作者来说是至关重要的技能。这不仅可以提高工作效率,还能在各种数据处理和分析场景中发挥关键作用。通过不断学习和实践,我们可以更好地应对日益...
标题 "Excel大量数据快速导入数据库源码" 描述的是一个编程解决方案,用于高效地将Excel电子表格中的大量数据批量导入到数据库系统中。这个过程通常涉及到数据预处理、数据清洗和数据传输等步骤,是数据处理工作流程...
以往的易程序导出excel太慢了,特别是数据比较多的时候,本程序写excel模板的方法极速导入导出excel或者数据库,1万条数据不用一秒钟的时间,速度杠杠的,大家可以试试效果。本例子是用超级列表框做例子,如有需要...
本文将深入探讨“Excel导出数据到数据库”这一主题,讲解如何高效地将Excel中的数据导入到数据库系统,以实现数据的统一管理和分析。 一、Excel的数据整理与预处理 在导出数据之前,首先需要对Excel中的数据进行...
1. **Excel导入数据库**: - **直接连接**:使用Excel的数据连接功能,可以直接连接到数据库,实时获取数据,形成数据透视表或图表。 - **CSV/文本文件**:将Excel数据另存为CSV(逗号分隔值)文件,然后通过...
首先,Excel导入数据库功能的实现主要涉及两部分:数据读取和数据库写入。使用C#,我们可以借助Microsoft.Office.Interop.Excel库来操作Excel文件,读取其中的数据。通过创建Excel应用程序对象,打开工作簿,选择...