|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object com.zhuozhengsoft.pageoffice.PageOfficeCtrl
public class PageOfficeCtrl
PageOfficeCtrl 类是PageOffice开发平台中的核心类,用来在线打开、显示、编辑Office文档。
构造方法摘要 | |
---|---|
PageOfficeCtrl(HttpServletRequest request)
初始化 PageOfficeCtrl 类的新实例。 |
方法摘要 | |
---|---|
void |
addCustomMenuItem(java.lang.String caption,
java.lang.String jsFunction,
boolean enabled)
添加菜单项到自定义菜单。 |
void |
addCustomToolButton(java.lang.String caption,
java.lang.String jsFunction,
int iconIndex)
添加按钮到自定义工具栏。 |
void |
setAllowCopy(boolean value)
设置当前文档是否允许复制、粘贴的功能。 |
void |
setBorderColor(java.awt.Color value)
设置 PageOfficeCtrl 控件的边框颜色。 |
void |
setBorderStyle(BorderStyleType value)
设置 PageOfficeCtrl 控件的边框样式。 |
void |
setCaption(java.lang.String value)
设置 PageOfficeCtrl 控件标题栏文字。 |
void |
setCompressDocument(boolean value)
设置控件在保存文档时是否使用压缩。 |
void |
setCustomMenuCaption(java.lang.String value)
设置自定义菜单的标题。 |
void |
setCustomRibbon(java.lang.String value)
自定义Office2007/2010的Ribbon工具栏。 |
void |
setCustomToolbar(boolean value)
设置 PageOfficeCtrl 控件是否显示自定义工具栏。 |
void |
setEnableUserProtection(boolean value)
表示是否启用用户自己设置的文档保护。 |
void |
setFileTitle(java.lang.String value)
设置控件客户端弹出的“另存为”对话框的默认文件名。 |
void |
setHTTPBasic_Password(java.lang.String value)
打开或保存文档时要求 HTTP Basic 验证的用户密码。 |
void |
setHTTPBasic_UserName(java.lang.String value)
打开或保存文档时要求 HTTP Basic 验证的用户名。 |
void |
setJsFunction_AfterDocumentClosed(java.lang.String value)
定义一个 JavaScript 函数响应 AfterDocumentClosed 事件。 |
void |
setJsFunction_AfterDocumentOpened(java.lang.String value)
定义一个 JavaScript 函数响应 AfterDocumentOpened 事件。 |
void |
setJsFunction_AfterDocumentSaved(java.lang.String value)
定义一个 JavaScript 函数响应 AfterDocumentSaved 事件。 |
void |
setJsFunction_BeforeDocumentClosed(java.lang.String value)
定义一个 JavaScript 函数响应 BeforeDocumentClosed 事件。 |
void |
setJsFunction_BeforeDocumentSaved(java.lang.String value)
定义一个 JavaScript 函数响应 BeforeDocumentSaved 事件。 |
void |
setJsFunction_OnExcelCellClick(java.lang.String value)
定义一个 JavaScript 函数响应 OnExcelCellClick 事件。 |
void |
setJsFunction_OnWordDataRegionClick(java.lang.String value)
定义一个 JavaScript 函数响应 OnWordDataRegionClick 事件。 |
void |
setMenubar(boolean value)
设置 PageOfficeCtrl 控件是否显示菜单栏。 |
void |
setMenubarColor(java.awt.Color value)
设置控件的菜单栏颜色。 |
void |
setMenubarTextColor(java.awt.Color value)
设置控件菜单栏的文字颜色。 |
void |
setOfficeToolbars(boolean value)
设置 PageOfficeCtrl 控件是否显示Office工具栏。 |
void |
setOfficeVendor(OfficeVendorType value)
设置Office办公软件类型。 |
void |
setProtectPassword(java.lang.String value)
设置当前Word或Excel文档使用的保护密码。 |
void |
setSaveDataPage(java.lang.String saveDataPage)
设置 PageOffice 控件的数据保存页面。 |
void |
setSaveFileMaxSize(int value)
设置控件能够保存最大文档的大小,以字节为单位。 |
void |
setSaveFilePage(java.lang.String saveFilePage)
设置 PageOffice 控件的文档保存页面。 |
void |
setServerPage(java.lang.String serverPage)
设置 PageOfficeCtrl 控件的运行服务页面。 |
void |
setTagId(java.lang.String id)
此方法非常重要,在PageOfficeCtrl的后台Java调用代码末尾处必须调用。 |
void |
setTheme(ThemeType value)
设置 PageOfficeCtrl 控件的界面主题。 |
void |
setTimeSlice(int value)
设置文档并发控制的时间片,以分钟为单位。 |
void |
setTitlebar(boolean value)
设置 PageOfficeCtrl 控件是否显示标题栏。 |
void |
setTitlebarColor(java.awt.Color value)
设置控件的标题栏颜色。 |
void |
setTitlebarTextColor(java.awt.Color value)
设置控件标题栏的文字颜色。 |
void |
setVisible(boolean value)
设置控件运行时是否可见。 |
void |
setWriter(java.lang.Object writerObj)
设置 PageOfficeCtrl 控件的数据对象。 |
void |
setZoomSealServer(java.lang.String value)
设置当前网站以外的ZoomSeal管理系统的印章服务地址。 |
void |
webCreateNew(java.lang.String userName,
DocumentVersion docVersion)
创建一个新文档并以普通编辑方式在线打开此文档。 |
void |
webOpen(java.lang.String documentURL,
OpenModeType openMode,
java.lang.String userName)
在线打开Office文档。 |
void |
wordCompare(java.lang.String documentURL,
java.lang.String documentURL2,
OpenModeType openMode,
java.lang.String userName)
在线比较两个不同版本的Word文档。 |
从类 java.lang.Object 继承的方法 |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public PageOfficeCtrl(HttpServletRequest request)
方法详细信息 |
---|
public void setTagId(java.lang.String id) throws java.lang.Exception, java.io.IOException
下面的示例展示如何在线打开Word文档。
PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request); //设置 PageOfficeCtrl 的运行服务页面 poCtrl1.setServerPage("poserver.do"); // 必须 //设置界面样式 poCtrl1.setCaption("测试文档"); poCtrl1.setTheme(ThemeType.Office2007); poCtrl1.setBorderStyle(BorderStyleType.BorderFlat); //关闭菜单栏 poCtrl1.setMenubar(false); //关闭Office工具栏 poCtrl1.setOfficeToolbars(false); //设置用来接收文档的保存页面 poCtrl1.setSaveFilePage("savefile.jsp"); //打开Word文档 poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三"); poCtrl1.setTagId("PageOfficeCtrl1");
id
- 前台HTML代码中放置 PageOfficeCtrl 标签处开发者自定义的控件ID。
java.lang.Exception
java.io.IOException
FileSaver.saveToFile()方法中完整的示例代码,学习如何编写 savefile.jsp 页面的代码接收PageOfficeCtrl提交的文档。
public void setBorderStyle(BorderStyleType value)
value
- 边框样式,默认值是 BorderStyleType.BorderFlat。public void setBorderColor(java.awt.Color value)
value
- 边框颜色。public void setTheme(ThemeType value)
value
- 界面主题,默认值是 ThemeType.Office2007。public void setTitlebar(boolean value)
value
- 默认值是 true。public void setTitlebarColor(java.awt.Color value)
value
- 标题栏颜色。public void setTitlebarTextColor(java.awt.Color value)
value
- 标题栏的文字颜色。public void setMenubar(boolean value)
value
- 默认值是 true。public void setMenubarColor(java.awt.Color value)
value
- 菜单栏颜色。public void setMenubarTextColor(java.awt.Color value)
value
- 菜单栏的文字颜色。public void setCustomToolbar(boolean value)
value
- 默认值是 true。public void setOfficeToolbars(boolean value)
value
- 默认值是 true。public void setCaption(java.lang.String value)
value
- 默认值是 "卓正 PageOffice 开发平台"。public void setAllowCopy(boolean value)
value
- 默认值是 true。public void setFileTitle(java.lang.String value)
value
- public void setServerPage(java.lang.String serverPage)
此属性是 PageOfficeCtrl 控件的重要属性。ServerPage 页面为 PageOfficeCtrl 控件提供必须的运行服务。 在调用 webOpen 或 webCreateNew 方法之前,您必须为 PageOfficeCtrl 控件设置 ServerPage 属性。
下面的示例展示如何使用 ServerPage 属性。
poCtrl1.setServerPage("poserver.do"); // 此行必须 poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三"); poCtrl1.setTagId("PageOfficeCtrl1"); // 此行必须
serverPage
- 无默认值。ServerPage 属性的值是PageOffice的服务页面的URL。
这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。
注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。
PageOfficeCtrl.setTagId()方法中完整的示例代码,学习如何在线打开文档。
public void setSaveFilePage(java.lang.String saveFilePage)
此属性是 PageOfficeCtrl 控件的重要属性。SaveFilePage 页面用来接收 PageOfficeCtrl 控件提交的文档。如果您需要保存用户修改后的文档,您就必须在调用 webOpen 或 webCreateNew 之前给 SaveFilePage 属性赋值。
当 PageOfficeCtrl 控件保存文档的时候,PageOfficeCtrl 控件首先提交文档中需要提交的数据到指定的 SaveDataPage 页面,然后再提交文档到指定的 SaveFilePage 页面。
如果 SaveDataPage 属性没有赋值,控件就不会提交文档中的指定数据。如果 SaveFilePage 属性没有赋值,控件就不会提交文档。 如果 SaveDataPage 属性和 SaveFilePage 属性都没有赋值,PageOfficeCtrl 控件会报错。
下面的示例展示如何使用 SaveFilePage 属性。
poCtrl1.setServerPage("poserver.do"); // 此行必须 poCtrl1.setSaveFilePage("savefile.jsp"); // 设置 savefile.jsp 用来保存文档。 poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三"); poCtrl1.setTagId("PageOfficeCtrl1"); // 此行必须
saveFilePage
- 无默认值。SaveFilePage 属性的值是用来接收控件提交文档的服务器页面的URL。
这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。
注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。
PageOfficeCtrl.setTagId()方法中完整的示例代码,学习如何在线打开文档。
public void setSaveDataPage(java.lang.String saveDataPage)
此属性是 PageOfficeCtrl 控件的重要属性。SaveDataPage 页面用来接收 PageOfficeCtrl 控件提交的用户输入的数据。如果您需要保存用户输入到文档中的数据,您就必须在调用 webOpen 之前给 SaveDataPage 属性赋值。
调用 webOpen 方法之前,创建 com.zhuozhengsoft.pageoffice.wordwriter.WordDocument 或 com.zhuozhengsoft.pageoffice.excelwriter.Workbook 对象指定要提交的DataRegions、Cells 或 Tables 并且调用 setWriter 方法设置数据对象。
如果当前文档是Word文档,webOpen 方法中的 OpenMode 参数必须设置为 OpenModeType.docSubmitForm。如果当前文档是Excel文档,webOpen 方法中的 OpenMode 参数必须设置为 OpenModeType.xlsSubmitForm。
给 SaveDataPage 属性赋值后,您需要创建 SaveData 页面用来接收 PageOfficeCtrl 控件提交的数据。在 SaveData 页面里,您需要创建 com.zhuozhengsoft.pageoffice.wordreader.WordDocument 或 com.zhuozhengsoft.pageoffice.excelreader.Workbook 对象用来接收控件提交的用户输入数据。
当 PageOfficeCtrl 控件保存文档的时候,PageOfficeCtrl 控件首先提交文档中需要提交的数据到指定的 SaveDataPage 页面,然后再提交文档到指定的 SaveFilePage 页面。
如果 SaveDataPage 属性没有赋值,控件就不会提交文档中的指定数据。如果 SaveFilePage 属性没有赋值,控件就不会提交文档。 如果 SaveDataPage 属性和 SaveFilePage 属性都没有赋值,PageOfficeCtrl 控件会报错。
下面的示例展示如何使用 SaveDataPage 属性。
Word 示例代码:
poCtrl1.setServerPage("poserver.do"); // 此行必须 WordDocument doc = new WordDocument(); DataRegion dataRegion = doc.openDataRegion("name"); dataRegion.setEditing(true); poCtrl1.setSaveDataPage("savedata.jsp"); poCtrl1.setWriter(doc); poCtrl1.webOpen("doc/test.doc", OpenModeType.docSubmitForm, "Jack"); poCtrl1.setTagId("PageOfficeCtrl1"); // 此行必须
Excel 示例代码:
poCtrl1.setServerPage("poserver.do"); // 此行必须 Workbook wb = new Workbook(); Cell cell1 = wb.openSheet("Sheet1").OpenCell("B2"); cell1.setSubmitName("ItemCount"); poCtrl1.setSaveDataPage("savedata.jsp"); poCtrl1.setWriter(wb); poCtrl1.webOpen("doc/test.xls", OpenModeType.xlsSubmitForm, "张三"); poCtrl1.setTagId("PageOfficeCtrl1"); // 此行必须
saveDataPage
- 无默认值。SaveDataPage 属性的值是用来接收控件提交用户输入数据的服务器页面的URL。
这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。
注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。
public void setSaveFileMaxSize(int value)
value
- 默认值是0,表示不限制能够保存的文档大小。public void setCompressDocument(boolean value)
如果属性值为true,PageOfficeCtrl 将先压缩文档,然后把压缩后的文档提交到Web服务器。当 PageOfficeCtrl 下次打开此压缩文档时,PageOfficeCtrl 会自动识别压缩格式并打开文档。 使用压缩技术的优点是可以节约服务器磁盘空间,降低网络流量,加快文档打开速度和保存速度。 使用压缩技术的缺点是压缩后的文档格式不能被Office软件识别,导致登录到Web服务器的用户无法在文件夹里直接双击打开文档。 一般情况下,无需使用此属性。
value
- 默认值是 false。public void setHTTPBasic_UserName(java.lang.String value)
public void setHTTPBasic_Password(java.lang.String value)
public void setTimeSlice(int value)
在网络环境下,如果同一时间里有多个用户同时打开了同一个文档,都分别对文档做了修改,保存文档时就会产生用户之间互相覆盖文档的问题,结果导致部分用户修改内容丢失。解决这个问题的技术在PageOffice里就称为文档并发控制。
如果 TimeSlice 大于0,就表示对当前文档开启并发控制。
TimeSlice 表示当前打开文档的操作用户能够对当前文档保持的编辑时间,以分钟为单位。
当 TimeSlice 超时,PageOffice 会自动释放并发控制锁,当前用户不能再保存当前文档。如果用户在 TimeSlice 超时之前就关闭了文档,PageOffice 会自动释放并发控制锁,随后其他用户能够立即打开此文档进行编辑。
当前文档处于并发控制状态时,其他用户打开此文档时会得到并发控制提示信息,如果继续打开文档就只能以只读方式打开此文档。
timeSlice
- 默认值为0,表示当前文档不使用并发控制技术。public void setJsFunction_AfterDocumentOpened(java.lang.String value)
文档打开之后在页面里触发此事件。 如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
下面的示例展示如何使用 JsFunction_AfterDocumentOpened 属性。
poCtrl1.setJsFunction_AfterDocumentOpened("AfterDocumentOpened()");
然后在当前 JSP 页面里定义 AfterDocumentOpened() 函数。
<script language="javascript" type="text/javascript"> function AfterDocumentOpened() { // 添加您的代码。 } </script>
public void setJsFunction_AfterDocumentClosed(java.lang.String value)
文档关闭之后在页面里触发此事件。 如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
下面的示例展示如何使用 JsFunction_AfterDocumentClosed 属性。
poCtrl1.setJsFunction_AfterDocumentClosed("AfterDocumentClosed()");
然后在当前 JSP 页面里定义 AfterDocumentClosed() 函数。
<script language="javascript" type="text/javascript"> function AfterDocumentClosed() { // 添加您的代码。 } </script>
public void setJsFunction_AfterDocumentSaved(java.lang.String value)
文档保存之后在页面里触发此事件。 如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
下面的示例展示如何使用 JsFunction_AfterDocumentSaved 属性。
poCtrl1.setJsFunction_AfterDocumentSaved("AfterDocumentSaved()");
然后在当前 JSP 页面里定义 AfterDocumentSaved() 函数。
<script language="javascript" type="text/javascript"> function AfterDocumentSaved() { // 添加您的代码。 } </script>
public void setJsFunction_BeforeDocumentClosed(java.lang.String value)
文档关闭之前在页面里触发此事件。 如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
在 JavaScript 函数里,可以返回false阻止 PageOfficeCtrl 控件关闭文档。
但是返回false并不能阻止浏览器关闭。如果您想在浏览器关闭前通知用户先保存文档,建议在页面的window.onunload事件里编写代码实现。
下面的示例展示如何使用 JsFunction_BeforeDocumentClosed 属性。
poCtrl1.setJsFunction_BeforeDocumentClosed("BeforeDocumentClosed()");
然后在当前 JSP 页面里定义 BeforeDocumentClosed() 函数。
<script language="javascript" type="text/javascript"> function BeforeDocumentClosed() { // 添加您的代码。 return true; } </script>
public void setJsFunction_BeforeDocumentSaved(java.lang.String value)
文档保存之前在页面里触发此事件。 如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
在 JavaScript 函数里,可以返回false阻止 PageOfficeCtrl 控件保存文档。
下面的示例展示如何使用 JsFunction_BeforeDocumentSaved 属性。
poCtrl1.setJsFunction_BeforeDocumentSaved("BeforeDocumentSaved()");
然后在当前 JSP 页面里定义 BeforeDocumentSaved() 函数。
<script language="javascript" type="text/javascript"> function BeforeDocumentSaved() { // 添加您的代码。 return true; } </script>
public void setJsFunction_OnWordDataRegionClick(java.lang.String value)
用户点击Word文档中的预定义的数据区域(DataRegion)时触发此事件。 如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
在 JavaScript 函数里,可以通过返回值设置当前DataRegion的值。
下面的示例展示如何使用 JsFunction_OnWordDataRegionClick 属性。
poCtrl1.setJsFunction_OnWordDataRegionClick("OnWordDataRegionClick()");
然后在当前 JSP 页面里定义 OnWordDataRegionClick() 函数。
<script language="javascript" type="text/javascript"> function OnWordDataRegionClick(Name, Value, Left, Bottom) { if (Name == "PO_N004") { return "可以弹出选择对话框,返回用户选择的值。"; } } </script>
public void setJsFunction_OnExcelCellClick(java.lang.String value)
用户点击Excel文档中指定SubmitName的单元格时触发此事件。 如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。
在 JavaScript 函数里,可以通过返回值设置当前Cell的值。
下面的示例展示如何使用 JsFunction_OnExcelCellClick 属性。
poCtrl1.setJsFunction_OnExcelCellClick("OnExcelCellClick()");
然后在当前 JSP 页面里定义 OnExcelCellClick() 函数。
<script language="javascript" type="text/javascript"> function OnExcelCellClick(SheetName, SubmitName, Value, Left, Bottom) { if (SubmitName == "ProductName") { return "可以弹出选择对话框,返回用户选择的值。"; } } </script>
public void setCustomMenuCaption(java.lang.String value)
value
- 默认值是 "Custom Me&nu"。public void setCustomRibbon(java.lang.String value)
public void setProtectPassword(java.lang.String value)
public void setOfficeVendor(OfficeVendorType value)
value
- 默认值是OfficeVendorType.MSOffice。public void setVisible(boolean value)
public void setZoomSealServer(java.lang.String value)
public void setEnableUserProtection(boolean value)
value
- 默认值是 false。public void addCustomMenuItem(java.lang.String caption, java.lang.String jsFunction, boolean enabled) throws java.lang.Exception
下面的示例展示如何使用 AddCustomMenuItem 方法。
poCtrl1.setCustomMenuCaption("我的菜单(&M)"); poCtrl1.addCustomMenuItem("显示痕迹(&S)", "OnCustomMenuClick()", true); poCtrl1.addCustomMenuItem("隐藏痕迹(&H)", "OnCustomMenuClick()", true); poCtrl1.addCustomMenuItem("-", "", true); poCtrl1.addCustomMenuItem("接受所有修订(&A)", "DoAcceptAll()", false);
然后在当前 JSP 页面里定义 OnCustomMenuClick() 和 DoAcceptAll() 函数。
<script language="javascript" type="text/javascript"> function OnCustomMenuClick(iIndex, sCaption) { var PageOfficeCtrl1 = document.getElementById("PageOfficeCtrl1"); if (iIndex == 0) PageOfficeCtrl1.ShowRevisions = true; if (iIndex == 1) PageOfficeCtrl1.ShowRevisions = false; } function DoAcceptAll() { document.getElementById("PageOfficeCtrl1").AcceptAllRevisions(); } </script>
caption
- 菜单项的标题。如果 caption 定义为 "-",表示此菜单项是菜单分隔线。jsFunction
- JavaScript 函数的名字。当用户点击当前菜单项时触发此 JavaScript 函数。enabled
- true: 菜单项可用。false: 禁用菜单项并显示灰色。
java.lang.Exception
public void addCustomToolButton(java.lang.String caption, java.lang.String jsFunction, int iconIndex) throws java.lang.Exception
下面的示例展示如何使用 AddCustomToolButton 方法。
poCtrl1.addCustomToolButton("保存", "SaveDocument()", 1); poCtrl1.addCustomToolButton("打印", "ShowPrintDlg()", 6); poCtrl1.addCustomToolButton("-", "", 0); poCtrl1.addCustomToolButton("全屏切换", "SwitchFullScreen()", 4);
然后在当前 JSP 页面里定义 JavaScript 函数。
<script language="javascript" type="text/javascript"> function SaveDocument() { document.getElementById("PageOfficeCtrl1").WebSave(); } function ShowPrintDlg() { document.getElementById("PageOfficeCtrl1").ShowDialog(4); //打印对话框 } function SwitchFullScreen() { document.getElementById("PageOfficeCtrl1").FullScreen = !document.getElementById("PageOfficeCtrl1").FullScreen; } </script>
caption
- 按钮的标题。如果 caption 定义为 "-",表示此按钮是分隔线。jsFunction
- JavaScript 函数的名字。当用户点击当前按钮时触发此 JavaScript 函数。iconIndex
- 按钮图标的索引。PageOffice 内置了若干图标,您可以选择使用其中的图标。默认值是 0。可用的图标索引如下:
java.lang.Exception
public void setWriter(java.lang.Object writerObj) throws java.lang.Exception, java.io.IOException
如果您需要动态输出数据到Word文档或Excel表格里,您就必须创建com.zhuozhengsoft.pageoffice.wordwriter.WordDocument对象或com.zhuozhengsoft.pageoffice.excelwriter.Workbook对象,并且调用setWriter给PageOfficeCtrl控件设置数据对象。 您必须在调用 webOpen 方法之前调用 setWriter 方法。
writerObj 参数类型必须和 webOpen 方法打开的文档类型相匹配。 例如:如果 webOpen 方法打开的是Word文档,writerObj 参数必须是 com.zhuozhengsoft.pageoffice.wordwriter.WordDocument 对象。
下面的示例展示如何使用 setWriter 方法。
Word 示例代码:
WordDocument doc = new WordDocument(); DataRegion dataRegion = doc.openDataRegion("name"); dataRegion.setValue("张三"); poCtrl1.setWriter(doc); //数据对象是 com.zhuozhengsoft.pageoffice.wordwriter.WordDocument 对象。
Excel 示例代码:
Workbook wb = new Workbook(); Sheet sheetOrder = wb.openSheet("Order"); sheetOrder.OpenCell("B5").setValue("张三"); poCtrl1.setWriter(wb); //数据对象是 com.zhuozhengsoft.pageoffice.excelwriter.Workbook 对象。
writerObj
- 数据对象。目前合法的数据对象有 com.zhuozhengsoft.pageoffice.wordwriter.WordDocument 和 com.zhuozhengsoft.pageoffice.excelwriter.Workbook.
java.lang.Exception
java.io.IOException
public void webOpen(java.lang.String documentURL, OpenModeType openMode, java.lang.String userName) throws java.lang.Exception, java.io.IOException
此方法是 PageOfficeCtrl 控件的重要方法,用来在线打开Office文档。
webOpen 方法一般放在PageOfficeCtrl调用代码末尾处调用。
示例:打开 test.doc 文档并把文档设置成可编辑状态。
poCtrl1.setServerPage("poserver.do"); //必须 //URL方式打开文档 poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三"); //服务器磁盘路径方式打开文档 poCtrl1.webOpen("D:\\documents\\test.doc", OpenModeType.docNormalEdit, "张三");
documentURL
- 待打开文档的URL地址。
此文档既可以是来自Web服务器文件夹的文件,也可以是用服务器页面动态输出的文件二进制流。但是必须保证文档具有Office文件格式。
如果是网站文件夹内的文件,就使用URL;如果是网站文件夹外的文件,可以直接使用磁盘文件路径,例如:"D:\\documents\\test.doc"。
PageOffice 支持很多Office文档格式,例如 *.doc,*.docx,*.xls,*.xlsx,*.ppt,*.pptx,*.xml and *.rtf 等。
这里的URL可以是相对于当前页面的相对地址,也可以是http开头的绝对地址。相对URL可以是相对于当前页面的地址,也可以是以"/"开头的相对于整个Web应用程序根的地址。
注意:如果URL采用http开头的绝对地址,您必须确保这个地址和当前页面同属于一个网站。
openMode
- 文档打开模式。请确保 openMode 与要打开的Office文档的文件格式保持一致。userName
- 操作当前文档的用户名。一般来说,userName 应该采用登录到您的Web项目的当前用户的名称。
java.lang.Exception
java.io.IOException
public void webCreateNew(java.lang.String userName, DocumentVersion docVersion) throws java.lang.Exception, java.io.IOException
如果您需要创建空文档并打开编辑,就调用 webCreateNew 方法。webCreateNew 方法一般放在PageOfficeCtrl调用代码末尾处调用。
在Web服务器上创建新文档和在客户机本地创建新文档有很大的不同。在Web服务器上创建新文档必须考虑到所有客户机上安装的不同版本的Office软件的兼容性。 为了保证新文档能够在所有客户机上都能顺利打开,您在调用 webCreateNew 方法时需要选择较低的 DocumentVersion 。
下面的示例展示如何使用 webCreateNew 方法创建一个Word2003格式的空文档。
Word 示例代码:
poCtrl1.setServerPage("poserver.do"); //此行必须 poCtrl1.setSaveFilePage("savefile.jsp?id=1&op=new"); poCtrl1.webCreateNew("张三", DocumentVersion.Word2003);
userName
- 操作当前文档的用户名。一般来说,UserName 应该采用登录到您的Web项目的当前用户的名称。docVersion
- 文档类型及文档格式版本。
java.lang.Exception
java.io.IOException
public void wordCompare(java.lang.String documentURL, java.lang.String documentURL2, OpenModeType openMode, java.lang.String userName) throws java.lang.Exception, java.io.IOException
documentURL
- 第一个Word文档。用法请参考webOpen方法。documentURL2
- 第二个Word文档。用法请参考webOpen方法。openMode
- 文档打开模式。这里只有docAdmin和docReadOnly有效。docAdmin模式显示比较结果时,用户可以编辑比较结果。docReadOnly模式显示比较结果时,用户只能浏览比较结果。userName
- 操作当前文档的用户名。一般来说,userName 应该采用登录到您的Web项目的当前用户的名称。
java.lang.Exception
java.io.IOException
|
||||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |