|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectcom.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.IOExceptionFileSaver.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
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||