java 集成 Pageoffice 實現在線打開客戶端電腦的 word 或者 excel文件,並上傳到服務器

一、需求描述。 

 需要將客戶端電腦的 office 辦公文件上傳到服務器

二:方案

總體方案用 pageoffice 組件操作 word 或者 excel 文件

1:在線打開文檔  用pageoffice 在線打開編輯保存的功能

2:上傳本地文件用 pageffice 提供的導入文件的js 方法

 document.getElementById("PageOfficeCtrl1").ExcelImportDialog(); //導入 excel 文件
 document.getElementById("PageOfficeCtrl1").WordImportDialog();//導入word文件

三、具體的實現過程

1:配置web.xml

<!-- PageOffice Begin -->
	<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>/sealsetup.exe</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>poserver</servlet-name>
		<url-pattern>/posetup.exe</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>poserver</servlet-name>
		<url-pattern>/pageoffice.js</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>poserver</servlet-name>
		<url-pattern>/jquery.min.js</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>poserver</servlet-name>
		<url-pattern>/pobstyle.css</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.zz</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>adminseal</servlet-name>
		<url-pattern>/loginseal.zz</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>adminseal</servlet-name>
		<url-pattern>/sealimage.zz</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>
	<!-- PageOffice End -->

2:實現代碼(以word爲例)

(1)導入本地文件

v<%@ page language="java" import="java.util.*,java.text.SimpleDateFormat" pageEncoding="utf-8"%>
<%@ page
	import="com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"%>
<%
	PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
	//設置授權程序servlet
	poCtrl.setServerPage(request.getContextPath()+"/poserver.zz");
	//添加自定義按鈕(第二個參數對應頁面中js 方法名)
	poCtrl.addCustomToolButton("保存","Save",1);
	poCtrl.addCustomToolButton("導入文件", "importData()", 15);
	poCtrl.addCustomToolButton("提交數據", "submitData()", 1);
	//設置保存頁面
	poCtrl.setSaveFilePage("SaveFile.jsp");
	
	WordDocument doc = new WordDocument();
	poCtrl.setWriter(doc);

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <title>導入文件</title>

  </head>
  
 <body>
		<!-- ***************************************PageOffice組件的使用****************************************** -->
		<script type="text/javascript">
                   function importData() {
                      document.getElementById("PageOfficeCtrl1").WordImportDialog();
                }

                  function Save() {
                       document.getElementById("PageOfficeCtrl1").WebSave();

               }
              </script>
                
		<div style="width: auto; height: 600px;">
			<%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
		</div>
		<!-- ***************************************PageOffice組件的使用****************************************** -->
	</body>
</html>

(2)保存上傳到服務器

<%@ page language="java" import="java.util.*,com.zhuozhengsoft.pageoffice.*" pageEncoding="utf-8"%>
<%
FileSaver fs=new FileSaver(request,response);
fs.saveToFile("d:\\aa.doc");
fs.close();
%>

 

如果要導入excel文件

1:

WordDocument doc = new WordDocument();
	poCtrl.setWriter(doc);

改爲

	Workbook wb = new Workbook();
        Sheet sheet = wb.openSheet("Sheet1");
	poCtrl.setWriter(wb);

2:

 function importData() {
                      document.getElementById("PageOfficeCtrl1").WordImportDialog();
                }

改爲

function importData() {
                   
                      document.getElementById("PageOfficeCtrl1").ExcelImportDialog();
                }

3:保存代碼

fs.saveToFile("d:\\aa.doc");

改爲

fs.saveToFile("d:\\aa.xls");

四:最終的效果(和本地office的打開功能一樣)

訪問頁面.此時會提示安裝插件,點擊安裝成功後提示註冊,填寫相關信息,填寫註冊碼Q37LN-W8NI-KFSQ-LEY3Y就可以打開文檔.
注意:如果需要更豐富的功能,大家可以去pageoffice官網下載示例代碼直接將samples4文件夾扔到Tomcat的webapps下,啓動Tomcat,瀏覽器訪問http://localhost:8080/Samples4/index.html,查看示例中的下面一個鏈接,直接看samples4文件夾下WordTable文件夾裏面的代碼.

剛開始接觸pageoffice的話,也可以看視頻快速上手http://www.zhuozhengsoft.com/Technical/

3c5518985d3bedcfd3e2ca09e76ca92c8c0.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章