pageoffice保存数据到数据库_pageoffice excel拿到单元格数据 - CSDN
精华内容
参与话题
  • 利用pageoffice实现在线处理excel文档上周开组会,发现理解错导师的意思了,老师当然希望我能自动的爬取那些信息,但是现在要的很急,希望以半自动的方式去得到这些数据到数据库,所以这周一直在弄这个。...

    利用pageoffice实现在线处理excel文档

    上周开组会,发现理解错导师的意思了,老师当然希望我能自动的爬取那些信息,但是现在要的很急,希望以半自动的方式去得到这些数据存到数据库,所以这周一直在弄这个。我也是第一次用jsp编程,之前一直用的asp,虽然感觉大同小异,但是仍然是新手。

    • 环境
      Tomcat 6.0, Myeclipse 2014, PageOffice_2.0.5.2_JAVA,360安全浏览器(chrome、火狐都不支持此插件,有解决办法,但我没研究=。=)
    • 准备工作
      寻找到pageoffice的安装包绿色版,按照里面的安装说明.txt测试发现,一定要先安装posetup.exe,再将pageoffice.jar、posetup.exe、seal.mdb、sealsetup.exe四个文件放到lib文件夹中,把包bulid path一下。(之前调试了好半天啊,一修改web.xml就报404错误,后来才发现,根本没装posetup.exe,网上好多讲pageoffice的例子,也没有提到。)
    • 修改web.xml配置文件
      粘贴到web.xml里面就行了
     <servlet>
        <servlet-name>poserver</servlet-name> 
        <servlet-class>com.zhuozhengsoft.pageoffice.poserver.Server</servlet-class> 
      </servlet>
      <servlet-mapping> 
        <servlet-name>poserver</servlet-name> 
        <url-pattern>/poserver.zz</url-pattern> 
      </servlet-mapping> 
      <servlet-mapping> 
        <servlet-name>poserver</servlet-name> 
        <url-pattern>/poserver.do</url-pattern> 
      </servlet-mapping> 
      <servlet-mapping> 
        <servlet-name>poserver</servlet-name> 
        <url-pattern>/pageoffice.cab</url-pattern>
      </servlet-mapping>
      <servlet-mapping> 
        <servlet-name>poserver</servlet-name> 
        <url-pattern>/popdf.cab</url-pattern>
      </servlet-mapping>
      <servlet-mapping> 
        <servlet-name>poserver</servlet-name> 
        <url-pattern>/sealsetup.exe</url-pattern>
      </servlet-mapping>
      <servlet-mapping> 
         <servlet-name>poserver</servlet-name> 
         <url-pattern>/posetup.exe</url-pattern>
      </servlet-mapping>
    
      <servlet>
        <servlet-name>adminseal</servlet-name> 
        <servlet-class>com.zhuozhengsoft.pageoffice.poserver.AdminSeal</servlet-class> 
      </servlet>
      <servlet-mapping> 
        <servlet-name>adminseal</servlet-name> 
        <url-pattern>/adminseal.do</url-pattern> 
      </servlet-mapping>
      <servlet-mapping> 
        <servlet-name>adminseal</servlet-name> 
        <url-pattern>/loginseal.do</url-pattern>
      </servlet-mapping>
      <servlet-mapping> 
        <servlet-name>adminseal</servlet-name> 
        <url-pattern>/sealimage.do</url-pattern>
      </servlet-mapping>
      <mime-mapping>  
        <extension>mht</extension>  
        <mime-type>message/rfc822</mime-type>  
      </mime-mapping>
      <context-param>
        <param-name>adminseal-password</param-name>
        <param-value>111111</param-value>
        </context-param>
    • 编程index.jsp
      主要实现加载excel文档,并且在线保存文件到服务器(savefile.jsp)
      index.jsp:
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ page language="java" import="com.zhuozhengsoft.pageoffice.*" %> <!-- 导入包 -->
    <%@ taglib uri="http://java.pageoffice.cn" prefix="po" %><!-- 不知道这个为啥一定要加上 -->
    
    <%      /*创建一个新Excel文档并以普通编辑方式在线打开此文档  */
            PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
             poCtrl1.setServerPage("poserver.do"); //此行必须
             poCtrl1.addCustomToolButton("保存","jian()",1);//添加自定义工具栏按钮 ,调用判断js
             poCtrl1.setFileTitle("请点击工具栏中的保存.xls");//另存为时的默认文件名
             poCtrl1.setSaveFilePage("savefile.jsp");
             poCtrl1.webCreateNew("苏苏", DocumentVersion.Excel2003);
             poCtrl1.setTagId("PageOfficeCtrl1"); //此行必须
    %>

    读了API文件,发现pageoffice设计的还是很方便的,很多接口函数,因为我在页面上定义了控件,我想使文件保存的时候直接以控件的value组合成文件名,所以自己写了js.

       <script type="text/javascript">
    function Save()
    {
     var truthBeTold = window.confirm("是否要保存到服务器?"); 
    if (truthBeTold) { 
                document.getElementById("PageOfficeCtrl1").WebSave();
                location.reload();//页面刷新
    } else {
    }
    }
    function jian(){
    var schoolname=document.getElementsByName("schoolname").item(0).value;
    var leixing=document.getElementsByName("leixing").item(0).value;
    var kelei=document.getElementsByName("kelei").item(0).value;
    var pici=document.getElementsByName("pici").item(0).value;
    var shengfen=document.getElementsByName("shengfen").item(0).value;
    var year=document.getElementsByName("year").item(0).value;
    if(schoolname==""||leixing==""||kelei==""||pici==""||shengfen==""||year=="")
    {
     alert("请将信息补充完整!"); 
    }
    else
    {
    
    Save();//这里调用保存文件的函数
    }
    
    
    }
    </script>

    然后把控件加到页面相应的位置就行了:

     <div style="height:800px; width:800px;">//这里可以控制控件大小
           <po:PageOfficeCtrl id="PageOfficeCtrl1" />
          </div>
    • savefile.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ page language="java" import="com.zhuozhengsoft.pageoffice.FileSaver" %>//不要忘记导入包
    <%
    FileSaver fs=new FileSaver(request,response);
    String schoolname=fs.getFormField("schoolname");//获取pageoffice控件所在页面的控件value值,控件一定要有name属性
    String leixing=fs.getFormField("leixing");
    String kelei=fs.getFormField("kelei");  
    String pici=fs.getFormField("pici");
    String shengfen=fs.getFormField("shengfen");
    String year=fs.getFormField("year");
    String filename=schoolname+"+"+leixing+"+"+kelei+"+"+pici+"+"+shengfen+"+"+year+".xls";
    fs.saveToFile(request.getSession().getServletContext().getRealPath("doc/")+"/"+filename);
    
    fs.close();
    
     %>

    在保存的时候,一定要注意保存文件的路径,这个默认是在webroot下,我之前调试一直显示保存不成功,在webroot下建立doc文件夹问题就解决了。

    虽然这个控件很方便,但是我不知道是浏览器还是控件的问题,测试的时候总是有卡顿的现象,浏览器里面的其他页面都不能点击,有待解决。

    本人是一个新手,如果有不对的地方,请大家批评指正。

    展开全文
  • pageOffice实现word在线编辑保存功能

    千次阅读 2015-04-27 16:18:11
    其中一种想法是读取文档内容,以word数据的格式保存到数据库,取出数据通过pageoffice查看。另一种是直接保存成word本地文件,将地址存入数据库,查看是再取出。 下面一些代码是实现了word文件的读取编

    上午经过讨论后,页面和数据库表结构可以暂时定下来了。其中草稿箱中发布信息会用到在线编辑Word和Excel文档功能。下午看来一下pageOfiice的一些功能,在页面上实现了一些简单的功能。其中一种想法是读取文档内容,以word数据的格式保存到数据库,取出数据通过pageoffice查看。另一种是直接保存成word本地文件,将地址存入数据库,查看是再取出。
    下面一些代码是实现了word文件的读取编辑和保存。

    Word.jsp

    <%@ page language="java" 
        import="com.zhuozhengsoft.pageoffice.*,java.util.*,java.io.*,javax.servlet.*,javax.servlet.http.*;" 
        pageEncoding="gb2312"%>
    <%@ taglib uri="http://java.pageoffice.cn" prefix="po" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    
    String filePath = request.getSession().getServletContext().getRealPath("SimpleWord/doc/test.doc");
    //out.print(filePath);// 查看filePath 的值
    
    //******************************PageOffice组件的使用*******************************
        PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
        poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须
        poCtrl1.setSaveFilePage("SaveFile.jsp");//如要保存文件,此行必须
        poCtrl1.addCustomToolButton("保存", "Save()", 1);//添加自定义工具栏按钮
        //打开文件
        poCtrl1.webOpen(filePath, OpenModeType.docNormalEdit, "张三");
        poCtrl1.setTagId("PageOfficeCtrl1"); //此行必须  
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
    
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
      </head>
    
      <body>
            打开服务器上指定磁盘路径下的文件<br/>
    
        <script type="text/javascript">
                function Save() {
                    document.getElementById("PageOfficeCtrl1").WebSave();
                }
        </script>
        <po:PageOfficeCtrl id="PageOfficeCtrl1" />
      </body>
    </html>
    

    Savefile.jsp

    <%@ page language="java" import="java.util.*,com.zhuozhengsoft.pageoffice.*" pageEncoding="gb2312"%>
    <%
    FileSaver fs=new FileSaver(request,response);
    fs.saveToFile(request.getSession().getServletContext().getRealPath("SimpleWord/doc/")+"/"+fs.getFileName());
    fs.close();
    %>
    
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
    
        <title>My JSP 'SaveFile.jsp' starting page</title>
    
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
    
      <body>
      </body>
    </html>
    
    展开全文
  • 在VS2013平台下,用VB.net 连接Access数据库

    万次阅读 热门讨论 2016-04-17 20:41:12
    从开始学习计算机,我们使用的一直是SQL数据库。这次接触了Access数据库,我将从Access创建连接向大家分享一下我在Access数据库中的收获。

          从开始学习计算机,我们使用的一直是SQL数据库。这次接触了Access数据库,我将从Access创建到连接向大家分享一下我在Access数据库中的收获。

          SQL数据库和Access数据库的区别:(来自百度)

          那么如何用Vb.net 链接Access数据库呢?

    第一,建立Access数据库文件

           我的是WIN8.1的系统,直接在桌面的角上滑动一下,在搜索栏里搜索Access,就直接打开了Office自带的Access,如果你的电脑上没有安装Office,也想要用Access也不用担心,可以直接到去网站搜一个下载下来,可以单独下载我们想要的Access版本。

    第二,新建Access数据库,Follow me~

    1.点击“空白桌面数据库”

    2.确定文件名和保存位置,点击“创建”

    3.生成表

           自动生成一个空白表,在表中数据数据,点击保存,创建表名Table_student,当然,在这里也可以建立多个表。下次打开表时,双击表的名称,就可以看见自己创建的表的内容。


    第三,添加数据源

    选择数据源类型
    选择数据库模型
    更改数据库连接类型

      

    一直点“是”或“下一步”,直到这里,要将“表”和“视图”都选上,点击完成。

    第四,测试

    用VS中的Datagridview测试一下,先连接VS



    和我们在Access数据库中建立的表一样一样滴。

    总结:

          这次建立连接没有使用ODBC数据源,直接和表建立的联系,两者之间有什么区别呢?为什么Access数据库会有.mdb和.accdb的区别呢?欲知答案如何,看我下篇博客分解~大笑


    展开全文
  • 用的语言是servlet+jsp+mysql和后面两个包commons-fileupload-1.3.1.jar jxl.jar 在线等,有没有会这个代码的大神
  • C#将数据库内容写入Word中

    千次阅读 2013-07-01 16:24:59
    1.新建word模板,后缀名名dotx,然后再相应的需要输入数据的地方插入书签,如图 2.在项目中添加引用,Microsoft.Office.Interop.Word 3.代码,我使用的是ajax 前台代码: //导出wor

    环境:word 2010

                vs 2010

                sql server 2008


    1.新建word模板,后缀名名dotx,然后再相应的需要输入数据的地方插入书签,如图



    2.在项目中添加引用,Microsoft.Office.Interop.Word



    3.代码,我使用的是ajax

    前台代码:

    //导出word
    	        $("#exportToWord").live("click", function () {
    	            var bugID = $(this).attr("name");
    	            $.ajax({
    	                type: "post",
    	                url: "../Office/ExportByWord.aspx/ExportBugByID",
    	                data: "{'id':'" + bugID + "'}",
    	                dataType: "json",
    	                contentType: "application/json; charset=utf-8",
    	                success: function (data) {
    	                    alert(data.d);
    	                }
    	            });
    
    	        });


    ajax请求代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    using System.Web.Services;
    using System.Web.Script.Services;
    using Microsoft.Office;
    using Microsoft.Office.Interop;
    using Microsoft.Office.Interop.Word;
    
    public partial class Office_ExportByWord : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e){}
    
        /// <summary>
        /// 根据bugID将单个bug导出到word文件中
        /// </summary>
        /// <param name="id"></param>
        [WebMethod]
        public static void ExportBugByID(string id)
        {
            WriteIntoWord writeIntoWord = new WriteIntoWord();
            string filePath = System.Web.HttpContext.Current.Server.MapPath("../Upload/System/bug.dot");  //模板路径
            
            List<BugDetails> bugList = new List<BugDetails>();
            BugDetails bugDetails = new BugDetails();
            BugDB bugDB = new BugDB();
            bugList = bugDB.GetBugByID(int.Parse(id));
            bugDetails = bugList[0];
    
            string saveDocPath = System.Web.HttpContext.Current.Server.MapPath("../Upload/System/File/" + bugDetails.Title + ".doc");
            writeIntoWord.OpenDocument(filePath);
            writeIntoWord.WriteIntoDocument("Title", bugDetails.Title);
            writeIntoWord.WriteIntoDocument("Versions", bugDetails.ProduceName + bugDetails.Versions);
            writeIntoWord.WriteIntoDocument("Creator", bugDetails.Creator);
            writeIntoWord.WriteIntoDocument("AssignTo", bugDetails.AssignTo);
            writeIntoWord.WriteIntoDocument("BugType", bugDetails.BugType);
            writeIntoWord.WriteIntoDocument("Severity", bugDetails.Severity.ToString());
            writeIntoWord.WriteIntoDocument("Priority", bugDetails.Priority.ToString());
            writeIntoWord.WriteIntoDocument("Status", bugDetails.Status);
            writeIntoWord.WriteIntoDocument("ProblemDescription", bugDetails.ProblemDescription);
            writeIntoWord.WriteIntoDocument("SolveDescription", bugDetails.SolveDescription);
            writeIntoWord.WriteIntoDocument("CloseDescription", bugDetails.CloseDescription);
            writeIntoWord.Save_CloseDocument(saveDocPath);
        }
    }

    word操作类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    using Microsoft.Office;
    using Microsoft.Office.Interop;
    using Microsoft.Office.Interop.Word;
    using System.Text;
    
    /// <summary>
    ///WriteIntoWord 的摘要说明:使用C#将数据库中内容写入word中并导出
    /// </summary>
    public class WriteIntoWord
    {
        ApplicationClass app = null;  //定义应用程序对象
        Document doc = null;  //定义word文档对象
        object missing = System.Reflection.Missing.Value;  //定义空变量
        object isReadOnly = false;  //
    
    	public WriteIntoWord() {}
    
        /// <summary>
        /// 向word中写入数据
        /// </summary>
        /// <param name="FilePath"></param>
        public void OpenDocument(string FilePath)
        {
            object filePath = FilePath;
            app = new ApplicationClass(); //打开文档
            doc = app.Documents.Open(ref filePath, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
            doc.Activate(); //激活文档
        }
    
        /// <summary>
        /// 打开word,将对应数据写入word 中对应的书签中
        /// </summary>
        /// <param name="BookmarkName">域标签(即word中定义的书签)</param>
        /// <param name="FillName">写入域中的内容</param>
        public void WriteIntoDocument(string BookmarkName,string FillName)
        {
            object bookmarkName = BookmarkName;
            Bookmark bm = doc.Bookmarks.get_Item(ref bookmarkName); //返回书签
            bm.Range.Text = FillName;  //设置书签域的内容
        }
    
        /// <summary>
        /// 保存并关闭
        /// </summary>
        /// <param name="SaveDocPath">文档另存为的路径</param>
        public void Save_CloseDocument(string SaveDocPath)
        {
            object savePath = SaveDocPath;
            object saveChanges = app.Options.BackgroundSave; //文档另存为
            doc.SaveAs(ref savePath, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
            doc.Close(ref missing, ref missing, ref missing); //关闭文档
            app.Quit(ref missing, ref missing, ref missing);  //关闭应用程序
        }
    }


    参考文章:http://www.cnblogs.com/chensipengcnblog/archive/2013/01/26/2877727.html


    展开全文
  • office 控件编辑 基本介绍 iWebOffice系列文档控件,是江西金格网络科技有限责任公司经过两年的完全自主开发设计,拥有自主知识产权的中间件软件,于2003年3月取得了国家软件著作权保护,于2003年12月取得了江西...
  • 使用Office Visio 可以绘制业务流程图、组织结构图、项目管理图、营销图表、办公室布局图、网络图、电子线路图、数据库模型图、工艺管道图、因果图和方向图等,因而,Office Visio 被广泛地应用于软件设计、办公自动...
  • SQLite数据库是中小站点CMS的最佳选择作者:孙毓波 (AKCMS 作者)SQLite 是一个类似Access的轻量级数据库系统,但是更小、更快、容量更大,并发更高。为什么说 SQLite 最适合做 CMS (内容管理系统)呢?并不是说其他...
  • PageOffice动态填充数据库数据

    千次阅读 2017-12-13 18:00:15
    动态填充数据库中的数据到文档中(以JAVA语言,Word文档,Sqlite数据库为例).PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request); poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须 ...
  • 基于Office Visio 2010 图表绘制

    万次阅读 2012-12-11 15:21:23
    使用Office Visio 可以绘制业务流程图、组织结构图、项目管理图、营销图表、办公室布局图、网络图、电子线路图、数据库模型图、工艺管道图、因果图和方向图等,因而,Office Visio 被广泛地应用于软件设计、办公自动...
  • java读写word文档,完美解决方案

    万次阅读 2018-05-15 11:04:36
    在网上找了很多解决方案都不太理想,偶尔发现了PageOffice,一个国产的Office插件,开发调用非常简单!比网上介绍的poi,jacob等解决方按容易上手多了!功能接口虽然没有poi,jacob那么多,但是满足了一般的需求的...
  • wincc 数据库的连接方法

    千次阅读 2010-10-27 11:16:00
    • WinCC 中如何与本地数据库(如SQL SERVER、ORACLE)进行数据交换? 以下的测试将说明如连接远程的数据库: Topic One: ODBC Testing environment: Primary PC with a WinCC, This PC, we...
  • WEB开发文档2 总结

    万次阅读 2007-09-20 21:58:00
    Microsoft IE WebControls下载地址 如何在DATAGRID中使用JAVASCRIPT脚本控制 DataGrid中连接下一页显示数据 下载中文名
  • WebLogic教程

    千次阅读 2009-06-06 07:35:00
    Apache Jakarta POI项目提供了用于访问和生成Excel文档的组件。POI HSSF API用于生成ExcelWorkbook以及将Excel电子表格添加workbook。Excel电子表格由行和单元格...同样,开发人员的需求也可以保存到数据库表中的Ex
  • web统计图表(asp.net+c#)(转)

    万次阅读 2009-03-12 15:56:00
    在Web程序开发中,图形和图表是很好的数据表现形式。往往是表格中的大量数据让用户产生无法处理,无从获取所需要的信息。而以图表方式提供数据的话就可以达到简单清爽,简单易懂并且一目了然的效果。利用图表,管理...
  • 前台代码,有点简单: &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head runat="server"&gt; &lt;meta http-equiv="Content-Type"...
  • Java利用xml将大批量数据导出excel的一个方法

    万次阅读 热门讨论 2009-04-22 17:28:00
    笔者在Java开发中常常会遇到将数据库数据导出Excel的要求,比如在我的一个项目中,客户要求所有查询结果都可以导出Excel,对于数据量不大的(几万条),这比较容易实现,但对于数据量比较大的(几十万及以上,...
  • SOAOffice和iWebOffice、NTKO的比较及其优势 近年来,市场上出现了一些能够在Web页面调用显示Office的控件或中间件产品,这让Web页面不能处理常用的Office文档的历史一去不复返,给大家带来了很多便利。笔者先后用...
  • 欢迎指正 1.1课题研制背景 随着国民经济社会信息化的发展,各企事业单位每天都要产生越来越多的大量业务单证,银行票据、保险报单、税务税单、政府文件、人事档案、法院诉讼、医院病历等面临着保存、分类、归档和查询...
  • 生物信息学相关网站

    万次阅读 2014-01-02 16:55:48
    这是生物信息学和生物计算学的网站,由Weizmann科学研究所,...该网站提供了数据库,电子论坛,教育,新闻,软件,招聘启事等。该网站还提供了相关链接,包括欧洲分子生物学以色列国家网点,以色列国家基因组基础设
1 2 3 4 5 ... 20
收藏数 4,961
精华内容 1,984
关键字:

pageoffice保存数据到数据库