CN104504160B - 基于SSH框架的Excel文档在线批量写入方法 - Google Patents
基于SSH框架的Excel文档在线批量写入方法 Download PDFInfo
- Publication number
- CN104504160B CN104504160B CN201510027712.7A CN201510027712A CN104504160B CN 104504160 B CN104504160 B CN 104504160B CN 201510027712 A CN201510027712 A CN 201510027712A CN 104504160 B CN104504160 B CN 104504160B
- Authority
- CN
- China
- Prior art keywords
- excel document
- data
- name
- database
- document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于SSH框架的Excel文档在线批量写入方法,在B/S架构下实现,包括以下步骤:步骤一、在客户端的浏览器中填写Web表单并提交;步骤二、根据提交的表单内容在数据库中创建新的数据表;步骤三、通过POI的HSSF接口创建Excel文档;步骤四、完成对Excel文档的浏览器阅读、编辑和保存操作;步骤五、将Excel文档的数据部分保存到数据库中。本发明解决了根据需求在线创建Excel文档并将更新的数据同步到数据库中的问题,实现了Excel文档与浏览器的集成控制。
Description
技术领域
本发明涉及一种基于SSH框架的Excel文档在线批量写入方法。
背景技术
随着信息技术的发展,越来越多的信息以Excel文档的方式存储,并通过网络获得应用。在大中小企业的内部,Excel文档主要存储于基于Web的各种办公管理系统及数据管理系统中。在业务处理的过程中,如何方便、快捷地根据需求在客户端浏览器中创建Excel文档,不仅将数据在Excel文档中加载展现给用户,并能够快速地进行文档的编辑,同时能够将更新的数据同步到数据库中,成为了一项重要的研究内容。
目前一般采用的方法有以下两种,一是将Excel文档保存到Web服务器的指定目录下,用户在使用时首先将文档手工下载到本地,然后利用MS Office软件在本地完成编辑保存操作,最后将编辑好的文档再上传到Web服务器上去。二是以浏览器网页的形式将Excel文档中的数据读取到动态网页中,在文档上传到Web服务器后,利用浏览器对读取到网页中的数据进行在线编辑操作,并将数据同步到数据库中。但是,方法一虽然可以完成Excel文档的编辑和上传操作,但是文档直接保存到目录下安全性差,没有实现Excel文档在浏览器中的在线阅读编辑功能,并且没有将文档中具体数据同步到数据库的表中。方法二虽然能够实现将数据同步到数据库中的操作,但是原有的Excel文档同样没有直接在浏览器中利用,容易造成原有文件中的信息丢失,难以实现Excel文档与浏览器的在线集成控制。
发明内容
为了解决现有技术的不足,本发明提供了一种基于SSH框架的Excel文档在线批量写入方法,不仅能够根据需求在线创建Excel文档并将更新的数据同步到数据库中,并且可以实现Excel文档与浏览器的集成控制。
本发明为解决其技术问题所采用的技术方案是:提供了一种基于SSH框架的Excel文档在线批量写入方法,在B/S架构下实现,具体包括以下步骤:
(1)在客户端的浏览器中填写Web表单并提交;所述Web表单的信息包括表名和列名;
(2)对表名进行重名判断,并对列名进行字段长度判断,若Web服务器的数据库中不存在相同的表名并且列名的字段长度未超出设置范围,则设置相应字段,插入记录,在数据库中创建新的数据表;所述数据表与Web表单具有相同的表名和列名;
(3)解析数据表的表头及数据,通过POI的HSSF接口创建Excel文档;所述Excel文档包括表名、列名、表头和数据;
(4)完成对Excel文档的浏览器阅读、编辑和保存操作:
(4-1)通过客户端向Web服务器发出获取Excel文档请求;
(4-2)Web服务器响应获取Excel文档请求,将Excel文档从数据库中取出并传到客户端;
(4-3)利用基于客户端的ActiveX控件,通过JavaScript对ActiveDocument属性的访问,将Excel文档在客户端的浏览器中打开以供编辑,编辑时产生的Excel文档的数据部分;
(4-4)ActiveX控件检测到用户保存并关闭文档事件后,ActiveX控件的HTTP接口将Excel文档的数据部分发送到预设的数据处理页面,完成Excel文档的存档,并将编辑后的Excel文档传回Web服务器;
(5)将Excel文档的数据部分保存到数据库中:
(5-1)定义一个泛型类用于存放Excel文档中的工作表记录;
(5-2)用Java中的for循环语句按照表名在数据库中查找编辑后的Excel文档,读取其表名、列名和数据部分,然后利用循环算法解析Excel文档中的数据部分;
(5-3)将解析后的数据部分存储到数据库的数据表中。
步骤(1)中,在互联网请求或响应的模式下,利用IE浏览器对作为Web服务器的Tomcat已经发布的系统工程网页进行Web访问,在浏览器中在线填写表单信息,并通过SSH框架下的Action类提交到后台Web服务器。
本发明基于其技术方案所具有的有益效果在于:
(1)本发明基于B/S架构和SSH开发框架,利用互联网作为信息载体,解决现有Excel文档数据上传方法缺乏通用性,对系统环境依赖较强等问题;
(2)本发明采用基于客户端的ActiveX控件,通过JavaScriopt对控件的调用来实现Excel文档在浏览器中打开和编辑功能,使得文档的控制方便,用户操作简洁直观,避免了采用其他方法时交互安全性差、并发处理难以实现、信息丢失和客户端操作复杂的问题;
(3)本发明有机地将传统文件上传方法和在线数据上传方法结合在一起,不仅能够根据需求在线创建Excel文档并将更新的数据同步到数据库中,并且可以实现Excel文档与浏览器的集成控制。
附图说明
图1是本发明的一种基于SSH框架的Excel文档在线批量写入方法流程示意图。
图2是SSH架构后台处理流程示意图。
图3是基于客户端的ActiveX控件架构图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
参照图1,本发明提供了一种基于SSH框架的Excel文档在线批量写入方法,在B/S架构下实现,具体包括以下步骤:
(1)在互联网请求或响应的模式下,利用IE浏览器对作为Web服务器的Tomcat已经发布的系统工程网页进行Web访问,在浏览器中在线填写表单信息,并通过SSH框架下的Action类提交到后台Web服务器,所述Web表单的信息包括表名和列名;不同的列名之间可以用“|”或其他分隔符隔开;
(2)对表名进行重名判断,并对列名进行字段长度判断,若Web服务器的数据库中不存在相同的表名并且列名的字段长度未超出设置范围,则设置相应字段,插入记录,在数据库中创建新的数据表;所述数据表与Web表单具有相同的表名和列名;参照图2,后台处理方法的基本业务流程是:在表示层中,首先通过JSP页面中的标签库、CSS、JS等文件实现界面交互,然后Struts2根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action动作类处理,通过对实体类和数据访问对象类的调用,完成数据操纵和数据访问。在业务逻辑层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑。而在数据访问层中,则依赖于Hibernate的O/R映射管理机制和数据库交互,处理DAO组件请求的数据,并返回处理结果;
(3)解析数据表的表头及数据,通过POI的HSSF接口创建Excel文档;所述Excel文档包括表名、列名、表头和数据;
(4)参照图3,完成对Excel文档的浏览器阅读、编辑和保存操作:
(4-1)通过客户端向Web服务器发出获取Excel文档请求;
(4-2)Web服务器响应获取Excel文档请求,将Excel文档从数据库中取出并传到客户端;
(4-3)利用基于客户端的ActiveX控件,通过JavaScript对ActiveDocument属性的访问,将Excel文档在客户端的浏览器中打开以供编辑,编辑时产生的Excel文档的数据部分;
(4-4)ActiveX控件检测到用户保存并关闭文档事件后,ActiveX控件的HTTP接口将Excel文档的数据部分发送到预设的数据处理页面,完成Excel文档的存档,并将编辑后的Excel文档传回Web服务器;
(5)将Excel文档的数据部分保存到数据库中:
(5-1)定义一个泛型类存放Excel文档中的工作表记录;
(5-2)用Java中的for循环语句按照表名在数据库中查找编辑后的Excel文档,读取其表名、列名和数据部分,然后利用循环算法解析Excel文档中的数据部分;
(5-3)将解析后的数据部分存储到数据库的数据表中。
Claims (1)
1.一种基于SSH框架的Excel文档在线批量写入方法,在B/S架构下实现,其特征在于具体包括以下步骤:
(1)在客户端的浏览器中填写Web表单并提交;所述Web表单的信息包括表名和列名;在互联网请求或响应的模式下,利用IE浏览器对作为Web服务器的Tomcat已经发布的系统工程网页进行Web访问,在浏览器中在线填写表单信息,并通过SSH框架下的Action类提交到后台Web服务器;
(2)对表名进行重名判断,并对列名进行字段长度判断,若Web服务器的数据库中不存在相同的表名并且列名的字段长度未超出设置范围,则在数据库中创建新的数据表;所述数据表与Web表单具有相同的表名和列名;
(3)解析数据表的列名,通过POI的HSSF接口创建Excel文档;所述Excel文档包括表名和列名;
(4)完成对Excel文档的浏览器阅读、编辑和保存操作:
(4-1)通过客户端向Web服务器发出获取Excel文档请求;
(4-2)Web服务器响应获取Excel文档请求,将Excel文档从数据库中取出并传到客户端;
(4-3)利用基于客户端的ActiveX控件,通过JavaScript对ActiveDocument属性的访问,将Excel文档在客户端的浏览器中打开以供编辑,编辑时产生的Excel文档的数据部分;
(4-4)ActiveX控件检测到用户保存并关闭文档事件后,ActiveX控件的HTTP接口将Excel文档的数据部分发送到预设的数据处理页面,完成Excel文档的存档,并将编辑后的Excel文档传回Web服务器;
(5)将Excel文档的数据部分保存到数据库中:
(5-1)定义一个泛型类用于存放Excel文档中的工作表记录;
(5-2)用Java中的for循环语句按照表名在数据库中查找编辑后的Excel文档,读取其表名、列名和数据部分,然后利用循环算法解析Excel文档中的数据部分;
(5-3)将解析后的数据部分存储到数据库的数据表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510027712.7A CN104504160B (zh) | 2015-01-20 | 2015-01-20 | 基于SSH框架的Excel文档在线批量写入方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510027712.7A CN104504160B (zh) | 2015-01-20 | 2015-01-20 | 基于SSH框架的Excel文档在线批量写入方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104504160A CN104504160A (zh) | 2015-04-08 |
CN104504160B true CN104504160B (zh) | 2018-06-15 |
Family
ID=52945557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510027712.7A Expired - Fee Related CN104504160B (zh) | 2015-01-20 | 2015-01-20 | 基于SSH框架的Excel文档在线批量写入方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104504160B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469047A (zh) * | 2015-08-18 | 2017-03-01 | 中兴通讯股份有限公司 | 一种表单实现方法及装置 |
CN105677390A (zh) * | 2015-12-28 | 2016-06-15 | 国云科技股份有限公司 | 一种用于大表单的录入与保存方法 |
CN106844316B (zh) * | 2016-12-13 | 2020-08-04 | 北京中船信息科技有限公司 | 在浏览器上在线处理office文档的方法和系统 |
CN107248065A (zh) * | 2017-06-08 | 2017-10-13 | 中国建设银行股份有限公司 | 线上报表管理方法、系统、装置及存储介质 |
CN108416023B (zh) * | 2018-03-08 | 2021-09-28 | 云南电网有限责任公司电力科学研究院 | 一种模拟用户操作回写系统数据的方法 |
CN108985598B (zh) * | 2018-06-29 | 2021-11-05 | 中国地质大学(武汉) | 一种基于用户生成内容的poi空间影响力评价方法及系统 |
CN110851400B (zh) * | 2018-07-25 | 2023-01-17 | 北京国双科技有限公司 | 文本数据的处理方法及装置 |
CN110888874B (zh) * | 2019-10-31 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种通过Excel创建表单的装置、方法及存储介质 |
CN111339087A (zh) * | 2020-02-20 | 2020-06-26 | 重庆锐云科技有限公司 | 将地产营销数据监控结果报表自动导出为Excel文件的方法 |
CN112883012B (zh) * | 2021-02-08 | 2022-10-28 | 建信金融科技有限责任公司 | 一种Domino数据表格组件的实现方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668870B1 (en) * | 2004-04-15 | 2010-02-23 | Citicorp Development Center, Inc. | Methods and systems for updating web pages via a web data instant update utility |
CN101976255B (zh) * | 2010-10-25 | 2012-07-04 | 中国农业大学 | 网页信息批量导出生成word文档的方法和装置 |
CN102063306A (zh) * | 2011-01-06 | 2011-05-18 | 夏春秋 | 一种通过电子表单进行应用开发的技术实现方法 |
-
2015
- 2015-01-20 CN CN201510027712.7A patent/CN104504160B/zh not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
"基于SSH的Web信息系统添加批量数据的设计和实现";孙志磊 等;《The 2nd Asia-Pacific Conference on Information Theory(APCIT2011)》;20111101;摘要、第279-281页、图1、3 * |
Also Published As
Publication number | Publication date |
---|---|
CN104504160A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104504160B (zh) | 基于SSH框架的Excel文档在线批量写入方法 | |
CA2948907C (en) | Methods and systems for web content generation | |
US7933871B2 (en) | Discovering and updating templates | |
KR101153002B1 (ko) | 원격 함수 호출을 통한 작업일지 모델로의 액세스를제공하기 위한 방법, 시스템, 및 장치 | |
US9043750B2 (en) | Automated generation of two-tier mobile applications | |
US8370859B2 (en) | Creating web services from an existing web site | |
US9967370B2 (en) | OData enabled mobile software applications | |
US20110225484A1 (en) | Cloud based modeling for enhancing spreadsheets | |
CN104750796A (zh) | 一种BS系统下导出Word的方法 | |
US9323728B2 (en) | Coordinating the management of the layout and design of portal pages with the management of its associated web content | |
CN109783065A (zh) | 产生对话式用户接口的方法及系统 | |
CN104994139A (zh) | 一种对高并发网络请求发快速响应的系统 | |
CN102523106A (zh) | 基于FlexRIA技术的视频网站用户行为分析系统 | |
CN106886530A (zh) | 一种动态数据分别编辑更新方法及系统 | |
CN111125064A (zh) | 一种生成数据库模式定义语句的方法和装置 | |
US20130191356A1 (en) | Autonomic generation of document structure in a content management system | |
RU2691834C1 (ru) | Способ управления данными веб-сайта | |
CN108766513B (zh) | 一种智慧健康医疗数据结构化处理系统 | |
US20110246559A1 (en) | Four tier architecture for implementing thin clients | |
EP3373165A1 (en) | Method of transferring the structures and data sets between the source and target systems and the system to implement it | |
US9135267B2 (en) | Method for adding real time collaboration to existing data structure | |
CN107784488A (zh) | 一种松散耦合的业务流程管理系统 | |
US11843679B2 (en) | Automated dependency management based on page components | |
US10402482B2 (en) | Content management system | |
US20140089207A1 (en) | System and method for providing high level view tracking of changes in sca artifacts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180615 Termination date: 20200120 |