咱們你們都知道,在Java的環境中進行office的操做是須要office的接口來實現的.目前比較流行的解決方案有POI和openoffice.首先說POI方案,它的功能侷限性很大,對於excel的讀取和寫入挺方便,可是在對word文檔操做功能顯的很雞肋.其次是openoffice,功能比POI強大,可是對於word的操做能力依然頗有限,且部署麻煩,學習成本較高,文檔格式易錯亂.javascript
今天我給你們介紹一款在網頁上操做office如同在本地操做office同樣便利且強大的中間件技術——pageoffice.css
能夠看到office的工具欄和本地的功能如出一轍,由於此中間件技術就是直接將客戶端本地的office軟件進行封裝搬到了頁面上.html
寫button以前先引入pageoffice須要的js文件java
<script type="text/javascript" src="/jquery.min.js"></script>
jquery
<script type="text/javascript" src="/pageoffice.js" id="po_js_main"></script>
web
而後添加a標籤數據庫
<a href="javascript:POBrowser.openWindowModeless('Word.jsp', 'width=1050px;height=900px;','id=er');">最簡單在線打開保存Word文件(URL地址方式)</a>
<%@ page language="java" import="java.util.*, java.awt.*" pageEncoding="utf-8"%>
編程
<%@page import="com.zhuozhengsoft.pageoffice.*, com.zhuozhengsoft.pageoffice.wordwriter.*"%>
瀏覽器
<%
服務器
//***************************卓正PageOffice組件的使用********************************
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
//添加自定義按鈕
poCtrl.addCustomToolButton("保存", "Save", 1);
//設置服務器頁面
poCtrl.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必須
//設置保存頁
poCtrl.setSaveDataPage("SaveData.jsp");
//設置文檔打開方式
poCtrl.webOpen("test.doc", OpenModeType.docSubmitForm, "張佚名");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>數據區域提交表格</title>
<link href="images/csstg.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="content">
<div id="textcontent" style="width: 1000px; height: 800px;">
<script type="text/javascript">
//保存頁面
function Save() {
document.getElementById("PageOfficeCtrl1").WebSave();
}
</script>
<!--************** 卓正 PageOffice組件 ************************-->
<%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
</div>
</div>
</body>
</html>
<%@ page language="java"
import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordreader.*"
pageEncoding="utf-8"%>
<%
//----------- PageOffice 服務器端編程開始(能夠直接放在三層架構後臺代碼中) -------------------//
WordDocument doc = new WordDocument(request,response);
DataRegion dataReg = doc.openDataRegion("PO_table");
Table table = dataReg.openTable(1);
//輸出提交的table中的數據(取出來的數據也能夠直接保存至數據庫)
out.print("表格中的各個單元的格數據爲:<br/><br/>");
StringBuilder dataStr = new StringBuilder();
for (int i = 1; i <= table.getRowsCount(); i++)
{
dataStr.append("<div style='width:220px;'>");
for (int j = 1; j <= table.getColumnsCount(); j++)
{
dataStr.append("<div style='float:left;width:70px;border:1px solid red;'>"+table.openCellRC(i,j).getValue()+"</div>");
}
dataStr.append("</div>");
}
out.print(dataStr.toString());
//向客戶端顯示提交的數據
doc.showPage(300, 300);
doc.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>
若有侵權,請聯繫小編