-
2020-07-27 10:35:19
WEB下使用的OFFICE控件介绍,另提供一个原创破解
首先来个名词解释,Office网络文档控件,就是在网页中编辑office文档的控件(前提是browser已经安装OFFICE)。
最近一个项目需要用到这个玩意,经过不泄努力的百度和GOOLE,发现Office网络文档控件资源,目前国产的有以下几款:
一、iWebOffice2006
江西金格网络科技有限责任公司
http://www.goldgrid.com/DownLoad/index.asp#Item24
我的简单意见:需要安装服务器端组件,并进行一些COM+组件设置,当然客户端控件也是需要安装的。它的网络通讯都要经过它自己的组件和控件来进行,个人嫌麻烦,不建议使用。
二、NTKO OFFICE文档控件
重庆软航科技有限公司
http://www.ntko.com/
我的简单意见:它的网站上有一年免费使用的版本。这个只需要客户端控件,个人试用效果还可以,建议使用。偶已经破解4.0.0.9版本,可以用到9999年12月31日。但是它有个缺点,就是控件中有2个标题栏,很讨厌。网上传播很广的3.0.0.7破解版也是这样。
三、WebEditor 文档控件系列
广州帝龙科技
Http://www.dragongod.com
我的简单意见:其实这个产品和iWebOffice2006很相似,真怀疑它们的来历。不建议使用。
四、WebOffice网络文档控件
北京点聚信息技术有限公司
http://www.dianju.com.cn/weboffice.htm
我 的简单意见:这个公司的WebOffice控件完全免费,功能也很不错,但是实际测试后发现,和WEB页面的一些元素定位、显示不是很兼容。比如如果给这 个控件定义一个style="display:none"的属性的话,运行结果是这个控件会跳出页面,单独显示一个窗口。但它毕竟是免费的,个人推荐使 用。
五、soaoffice网络文档控件
北京科翰软件有限公司
http://www.kehansoft.com/
我的简单意见:这个公司的Office控件使用极其麻烦,因为它不是独立的,是和其他控件捆绑的,需要安装服务器端软件,我是坚决不用的。
六、双进WORD网络文档控件
南京双进科技咨询有限公司
http://www.sjtsoft.com
我的简单意见:没找到演示下载,而且也只有word支持,不要去试了吧。
七、DSOFramer网络文档控件
http://www.dsoframer.com/dsoframer是微软提供一款开源的用于在线编辑、调用Word、 Excel 、PowerPoint等的ActiveX控件。国内很多著名的OA中间件,电子印章,签名留痕等大多数是依此改进而来的。
更多相关内容 -
weboffice控件的使用
2014-12-26 18:15:09关于web网页中weboffice控件使用 -
weboffice控件和接口文档
2017-10-20 10:19:41weboffice控件和接口文档,浏览器安装不了的可以直接点击里面的exe文件执行安装;一些常用的接口文档都在里面,保证可以使用。 -
weboffice ocx 控件
2018-10-08 16:43:17weboffice ocx 控件,用于word在线操作,可应用在OA办公系统 -
weboffice控件是在线编辑Word、Excel、Powerpoint、Wps、Visio、Csv和Pdf的办公文档软件
2019-01-18 11:45:37WebOffice控件是在线编辑Word、Excel、Powerpoint、Wps、Visio、Csv和Pdf的办公文档软件,可以网络远程打开、编辑和保存Word、Excel、Powerpoint、Wps、Visio等文档 -
如何处理OA系统在线阅读或编辑文档时weboffice控件提示“文件存取错误”的问题?
2021-08-01 05:19:341、首先检查出现文件存取错的电脑ofiice软件...ntko office控件对wps也一样支持。wps相比较于office,安装包小,安装简便。2、建议使用IE8及以上版本浏览器版,2013增强版本可使用IE10或IE11。3、清空IE浏览器缓存,...1、首先检查出现文件存取错的电脑ofiice软件版本是否为精简版,如果是精简版可能出现这种问题,卸载重装office完整版。
为排除office的问题,可以在卸载了office以后,直接安装wps也可以;ntko office控件对wps也一样支持。wps相比较于office,安装包小,安装简便。
2、建议使用IE8及以上版本浏览器版,2013增强版本可使用IE10或IE11。
3、清空IE浏览器缓存,并检查服务器磁盘空间,检查OA系统安装路径的可用空间是否过小,如果剩余空间较小的话,清理磁盘释放磁盘空间。
4、设置浏览器并重新安装NTKO组件。
1)将OA地址在浏览器中添加为可信站点,并将安全级别调低,IE浏览器菜单栏->工具->internet选项->安全,点击“自定义级别”,设置下标签“ActiveX控件和插件”。如图所示:
(2015年6月19日补充:把internet、本地intranet、受信任的站点,下面的“启用保护模式”去掉,然后启动ie以管理员权限,这个方法几乎可以解决:安装不了控件或存取失败的大多数问题。)
(2016年7月9日补充:在win10中,ie11浏览器加载控件会出现"文件存在错误",此时可在配置ie的本篇方法以后,换用360浏览器或搜狗浏览器,使用他们的兼容模式)
(2017年3月6日补充:在win10中,ie11浏览器加载控件会出现"文件存在错误",此时用本文尾附件清理ntko office 文档控件卸载,然后直接使用ntko安装对应版本的程序来在本地安装控件)
(2017年12月9日补充:在win10中,ie11浏览器,使用wps,内置文档办公正常;但使用office2016,总是会出现调用控件后,文档加载错误;这是鉴于Office 2013/2016本身机制原因,其注册表可能缺少对应的注册表项供控件调用,因此可以通过附件中的工具对注册表进行修复。)
设置标签“ActiveX控件和插件”。如图所示:
2)到本文末尾先下载NTKO卸载工具,再重新访问OA,让浏览器重新初始化安装weboffice控件。
5、NTKO组件删除之后单独安装如仍然提示文件存取错误。
打开IE工具->Internet选项->隐私点击高级设置,把替代自动cookie处理和总是语序回话cookie勾选上确定即可。如图所示:
6、微软Office软件在注册表中的注册信息异常。
1)打开操作系统中的写字板,点写字板上的“插入对象”,在弹出的框中选择微软Office文件对象类型,点“确定”。如图所示:
2)点“确定”后,如果弹出下图提示,说明当前电脑上微软Office软件在注册表中的注册信息异常,导致Office文件在线阅读提示“文件存取错误”,重新安装微软Office软件即可解决此问题。如图所示:
-
WebOffice控件
2013-01-07 16:41:53用于OA系统中实现文档的在线编辑等,内包括使用说明 -
.net weboffice 控件 有部分源码
2012-12-12 16:53:16这个文件 是我在百度上找的 为了找个weboffice源码我找了一个星期 看到有点希望呢 结果搞了半天才发现还是用的控件。这个是点距的免费的控件。你下载下来以网站的形式打开的话 就可以运行了 希望可以给你一点小小的... -
weboffice控件delphi全面演示
2010-04-21 22:28:21weboffice是一个很酷的控件,用过ole的都知道在程序里控制office文档是多么的复杂,有了weboffice了后,让你从此告别ole吧,weboffice官方没有提供delphi版本的演示,所以自己做了一个,希望对想写办公软件提供一些... -
WEB Office控件
2008-09-28 20:24:16微软的web Office控件 带源码. -
WebOffice 文档控件API
2021-06-13 11:49:14目 录WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word、Excel、WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Http接口模拟表单提交,发送到数据处理页面(此文档举例...目 录
WebOffice是基于客户端的ocx控件,它的功能是将Office文档(Word、Excel、WPS)嵌入到浏览器中,并调用Office中各种接口,完成文档编辑工作,然后使用控件的Http接口模拟表单提交,发送到数据处理页面(此文档举例为saveDoc.asp页,代码见演示文件),完成文档的存档工作。
├ 装载控件 ... object >
├ 触发初始化方法
├ 执行初始化方法,打开新文档或装载已经存在的文档
functionWebOffice1_NotifyCtrlReady() {
document.all.WebOffice1.LoadOriginalFile("…","…");
}
├ 根据当前步骤,来决定是否进入修订状态,如果是修订状态,最好设置当前的用户名
functionWebOffice1_NotifyCtrlReady() {
document.all.WebOffice1.LoadOriginalFile("…","…");
document.all.WebOffice1.SetCurrUserName("张三");
document.all.WebOffice1.SetTrackRevisions(1);
}
├ 填写表单元素,编辑Office文档
├ 执行Http上传接口保存表单元素和Office文档
//保存文档之前,如果需要接受修订,需要调用
document.all.WebOffice1.SetTrackRevisions(4);
//通过Http接口上传
document.all.WebOffice1.HttpInit();
document.all.WebOffice1.HttpAddPostString("…","…");
document.all.WebOffice1.HttpAddPostCurrFile("…","…");
document.all.WebOffice1.HttpPost("…")
├ saveDoc.asp获取表单数据和Office进行数据库操作,并返回操作是否正确。
├ 根据saveDoc.asp返回值进行相应操作。
classid="clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5" codebase=WebOffice.ocx#Version=3,0,0,0>
主要参数说明:
id 控件在网页的别名,可以通过别名调用控件的方法、属性
width 控件的宽度,可以使用绝对大小,如width="100px"。
height 控件的高度
codebase 设置控件自动下载的路径,用户如果没有安装控件,系统会自动访问codebase的路径下载控件;“#Version”后的是控件的版本,如果用户当前的软件版本低于“#Version”后面的版本,系统也会自动下载最新的控件
注意:如果控件的width 和height属性使用%表示,则要明确指明它所在的容器的大小,如把控件放到表格
内,则要明确指明表格的width和height的绝对值。原 型: void AboutBox();
功 能:显示WebOffice版本信息
返回值:
示 例:
document.all.WebOffice1.AboutBox();
原 型: longAcceptAllRevisions();
功 能:接受当前文档所有修订
返回值:
0:接受修订成功
非零:接受修订失败
示 例:
document.all.WebOffice1.AcceptAllRevisions();
原 型: long CloseDoc(longblReqSaved);
功 能:关闭当前文档
参 数:
blReqSaved:
0:关闭文档,不保存当前修改。
1:关闭文档,保存当前修改。
2:如果文档已经被修改,显示保存文档对话框,否则直接关闭。
其它:关闭文档,保存当前修改。
返回值:
0: 失败
非零: 成功
示 例:
//关闭当前文档,不保存当前修改。
document.all.WebOffice1.CloseDoc (0);
原 型: long DelLocalFile(BSTRstrFilePathName);
功 能:删除本地文件
参 数:
strFilePathName:本地文件的绝对路径。
返回值:
0: 删除成功
非零: 删除失败
示 例:
document.all.WebOffice1.DelLocalFile("c:\\111.doc");
原 型: IDispatch*GetDocumentObject();
功 能:
获取文档对象的ActiveDocument对象,此接口非常重要,基本所有的VBA功能都可以通过这个接口来实现。
参 数:
返回值:ActiveDocument对象的Dispatch
示 例:
/* 以下的JavaScript为采用ActiveDocument的方式直接操作VBA,向DOC文档的书签中加入一个图片。
function AddPicture(strMarkName,strBmpPath,vType)
在书签位置插入图片,
strMarkName 书签的名称
strBmpPath 图片的路径
vType 插入后的图片的样式,5为浮动在文字上面
AddPicture("test1","d:\\111.bmp",5);
AddPicture("test1","d:\\111.bmp",128);
*/
function AddPicture(strMarkName,strBmpPath,vType)
{
//定义一个对象,用来存储ActiveDocument对象
var obj;
obj =new Object(document.all.WebOffice1.GetDocumentObject());
if(obj!=null){
var pBookMarks;
// VAB接口获取书签集合
pBookMarks = obj.Bookmarks;
var pBookM;
// VAB接口获取书签strMarkName
pBookM = pBookMarks(strMarkName);
var pRange;
// VAB接口获取书签strMarkName的Range对象
pRange = pBookM.Range;
var pRangeInlines;
// VAB接口获取书签strMarkName的Range对象的InlineShapes对象
pRangeInlines = pRange.InlineShapes;
var pRangeInline;
// VAB接口通过InlineShapes对象向文档中插入图片
pRangeInline = pRangeInlines.AddPicture(strBmpPath);
//设置图片的样式,5为浮动在文字上面
pRangeInline.ConvertToShape().WrapFormat.TYPE = vType;
delete obj;
}
}
原 型: BSTRGetFieldValue(BSTR strFieldName, BSTR strSheetName);
功 能:获得书签位置的数值
参 数:
strFieldName:书签的名字
strSheetName:预留字段(值为空)
返回值:返回书签的值
示 例:
//获得书签的值
var strFieldValue=document.all.WebOffice1.GetFieldValue("mark_1","")
原 型: BSTRGetTempFilePath();
功 能:获得临时文件路径
参 数:
返回值:当前文件的临时路径
示 例:
var strTempPath=document.all.WebOffice1.GetTempFilePath();
原 型: longGetRevCount();
功 能:获取修订节点的个数
参 数:
返回值:获取修订节点的个数
示 例:
原 型: longGetFileSize (LPCTSTR strFilePath);
功 能:获取本地文件的大小
参 数:
返回值:
示 例:
var vLen = obj.GetFileSize("c:\\111.doc");
原 型: longGetBookMarkCount();
功 能:获取文档中书签的总数量
参 数:
返回值:
示 例:
2.1.11 GetBook MarkInfo(lIndex,iType)
原 型: longGetBook MarkInfo(lIndex,iType);
功 能:获取文档中书签的信息
参 数:
lIndex:书签的序号,从1开始
iType:获取内容类型。0获取书签名,1获取书签值
返回值:
示 例:
2.1.12 HideMenuItem
原 型: long HideMenuItem(long lMenuType);
功 能:控制自有工具栏的显示
参 数:
lMenuType工具栏开关,采用32位的数字作为开关,当相关位为1的时候,按钮显示,为0是按钮隐藏。
enum{
vNew = 0x01, //新建
vOpen= 0x02, //打开
vSaveAs= 0x04, //保存
vPrint= 0x10, //打印
vPrintView= 0x20, //打印预览
vReturn= 0x1000, //全屏
vShowHideMenu = 0x4000, //显示/隐藏菜单
vFullScrean= 0x2000 //返回
};
返回值:
示 例:
//只显示新建和全屏按钮
Object.HideMenuItem(0x01 + 0x1000);
原 型: long HttpInit();
功 能:初始化上传接口
参 数:
返回值:
示 例:
//上传前必须执行此方法
document.all.weboffice1.HttpInit();
原 型: longHttpAddPostFile(BSTR strName, BSTR strFile);
功 能:Http上传相关(保留)
参 数:
返回值:
示 例:
//上传本地文件c:\\111.doc
document.all.weboffice1.HttpAddPostFile("111", "c:\\111.doc")
原 型: longHttpAddPostString(BSTR strName, BSTR strValue);
功 能:添加要上传的表单域
参 数:
strName:表单域的名称
strValue:表单域的值
返回值:
示 例:
//添加表单域,可多次执行此方法
document.all.WebOffice1.HttpAddPostString("DocTitle",myform.DocTitle.value);
原 型: longHttpAddPostCurrFile(String field, String newFileName);
功 能:添加要上传的Word或者Excel文件
参 数:
Field:要上传文件的id
newFielName:上传后的新文件名。该参数可以为空,系统将自动为文件命名
返回值:
示 例:
document.all.WebOffice1.HttpAddPostCurrFile("DocContent","");
原 型: BSTR HttpPost(BSTRstrHttpURL);
功 能:将当前表单和文件数据提交到指定URL路径
参 数:
strHttpURL: 处理表单和文件数据的文件URL路径
返回值:
Succeed:上传成功
failed: 上传失败
示 例:
//相对路径
var returnValue=document.all.WebOffice1.HttpPost("../saveDoc.jsp");
//绝对路径
var returnValue=document.all.WebOffice1.HttpPost("http://127.0.0.1/saveDoc.jsp")
原 形:short InsertFile(LPCTSTR strFilePathName, shortnCurPos)
功 能:插入合并文件,和插入图片。
参 数:strFilePathName:
文件或者图片的路径,可以是Http.或者Ftp路径
nCurPos:
位置和图片控制符。nCurPos 或者nCurPos -8
0: 当前位置
1: 文件开头
2: 文件末尾
如果第四位为1:表示插入的是图片
返回值:
0:正确
其他:错误
示 例:
//文件头部
document.all.WebOffice1.InSertFile("http://XX.com/XX.doc",1);
//文件尾部
document.all.WebOffice1.InSertFile("http://XX.com/XX.doc",2);
//当前光标位置
document.all.WebOffice1.InSertFile("http://XX.com/XX.doc",0);
//文件头部
document.all.WebOffice1.InSertFile("http://XX.com/XX.jpg",9);
//文件尾部
document.all.WebOffice1.InSertFile("http://XX.com/XX.jpg",10);
//当前光标位置
document.all.WebOffice1.InSertFile("http://XX.com/XX.jpg",8);
原 型: long IsOpened();
功 能:判断当前是否打开文件
参 数:
返回值:
0:表示当前未打开文档
非0:表示已经打开文档
FILE_TYPE_WORD = 11,
FILE_TYPE_WORD =11,
FILE_TYPE_EXCEL= 12,
FILE_TYPE_PPT = 13,
FILE_TYPE_RTF = 14,
FILE_TYPE_WPS = 21,
FILE_TYPE_PDF = 31,
FILE_TYPE_UNK = 127
示 例:
var isOpened=document.all.WebOffice1.IsOpened();
原 型: long IsSaved();
功 能:判断文件是否被修改
参 数:
返回值:
0:文件已被修改
非零:文件未被修改
示 例:
var isSaved=document.all.WebOffice1.IsSaved();
原 型: longLoadOriginalFile(BSTR pcFileNameOrUrl, BSTR pcType);
功 能:新建、装载Office文档
参 数:
pcFileNameOrUrl:
要装载文件的本地路径或者URL,值为空表示新建文档,如果是在Http的Web环境下,可以传相对路径.
pcType:
doc:打开、新建Word文件
xls:打开、新建Excel文件
ppt:打开、新建PPT 文件
wps:打开、新建WPS 文件
返回值:
0:失败
非0:成功
示 例:
//通过URL打开一个服务器文件,getdoc.asp代码见演示文件
document.all.WebOffice1.LoadOriginalFile("http://127.0.0.1/getdoc.asp?id=8","doc");
//通过URL打开一个服务器文件,相对路径
document.all.WebOffice1.LoadOriginalFile("/getdoc.asp?id=8","doc");
document.all.WebOffice1.LoadOriginalFile("./getdoc.asp?id=8","doc");
//新建Excel
document.all.WebOffice1.LoadOriginalFile("","xls");
//通过Word打开本地文件
document.all.WebOffice1.LoadOriginalFile("C:\\demo.doc","doc");
原 型: shortOpenFileDlg();
功 能:打开本地文件显示在WebOffice中
参 数:pcFileNameOrUrl:保存的文件路径
返回值:
示 例:
//打开对话框
document.all.WebOffice1.OpenFileDlg();
原 型: longProtectDoc(long lProOrUn, long lType, BSTR strPWD);
功 能:文档保护
参 数:
lProOrUn:
└ 1:为保护文档
└ 0:为解锁文档
lType :
└ 0 :文档保护,只允许修订
└ 1 :文档保护,只允许批注
└ 2 :文档完全保护,不允许任何操作
strPWD:文档保护、解锁时所需设置的密码
返回值:
示 例:
//保护文档,只允许修订
document.all.WebOffice1.ProtectDoc(1,0, "12345");
//解锁文档
document.all.WebOffice1.ProtectDoc(0,0, "12345");
原 型: long PrintDoc(longblShowDlg);
功 能:打印当前文档
参 数:blShowDlg:
0:不显示打印对话框,直接打印
非零:显示打印对话框
返回值:
0:打印失败
非零:打印成功
示 例:
//显示打印对话框
document.all.WebOffice1.PrintDoc(1);
原 型: longPutSaved(boolean bSaved);
功 能:设置当前文档的修改状态
参 数:
0: 处于修改状态
1: 处于保存状态
返回值:
示 例:
//设置当前文档处于修改状态
document.all.WebOffice1.PutSaved(0);
原 型: long Save();
功 能:
将文件保存原来位置,第一次保存时弹出对话框
参 数:
返回值:
0:保存失败
非零:保存成功
示 例:
document.all.WebOffice1.Save();
原 型: long SaveAs(BSTRstrFileName, long dwFileFormat);
功 能:保存文件到本地
参 数:
strFileName: 要保存的文件路径和文件名
dwFileFormat:保存的文件类型
└ 0 Word类型
└ 2 Txt文件
└ 6 Rtf文件
└ -4143 Excel类型
返回值:
示 例:
document.all.WebOffice1.SaveAs("C:\\test.doc",0); //另存为Word文件
document.all.WebOffice1.SaveAs("C:\\test.txt",2); //另存为Txt文件
document.all.WebOffice1.SaveAs("C:\\test.rtf",6); //另存为Rtf文件
document.all.WebOffice1.SaveAs("C:\\test.xls",-4143); //另存为Excel文件
原 型: longSetFieldValue(BSTR strFieldName, BSTR strValue, BSTR strSheetName);
功 能:添加书签,套红头模板
参 数:strFieldName:书签的名字,对于Excel文件,此数据位单元格
strValue:书签的值,该处可以是个用于返回数据的URL,用于套红头模板。对于Excel文件,如果插入的是图片,此数值为::JPG::+图片的路径
strSheetName:命令的类型,对于Excel文件此数值为Sheet的名称
└ ::ADDMARK:: 添加书签
└::DELMARK:: 删除书签
└::JPG:: 添加图片,可以利用这个来实现图片电子印章
└ ::FILE:: 调用本地或者URL的文件设置书签值(套红头)
返回值:
示 例:
//添加书签mark_1,并为它赋值
document.all.WebOffice1.SetFieldValue("mark_1","北京","::ADDMARK::");
//为已存在的书签mark_1赋值
document.all.WebOffice1.SetFieldValue("mark_1","电子签章", "");
//套本地红头
document.all.WebOffice1.SetFieldValue("mark_1","c:\\test.doc", "::FILE::");
//套服务端红头1,getDoc.asp页用于返回要装载Word的二进制值,代码见演示文件
document.all.WebOffice1.SetFieldValue("mark_1","http://127.0.0.1/getdoc.asp?id=8", "::FILE::");
//套服务端红头2
document.all.WebOffice1.SetFieldValue("mark_1","http://127.0.0.1/test.doc","::FILE::");
//添加图片电子印章
document.all.WebOffice1.SetFieldValue("mark_1","http://127.0.0.1/seal.bmp","::JPG::");
//在Excel中添加图片
document.all.WebOffice1.SetFieldValue("","::JPG::http://www.google.cn/intl/zh-CN/images/logo_cn.gif","");
原 型: longSetTrackRevisions(long lValue);
功 能:修订文档
参 数:
lValue:文档修订状态
└ 1: 开始修订文档
└ 0: 进入非留痕状态
└ 4:接受当前修订
返回值:
示 例:
//开始修订
document.all.WebOffice1.SetTrackRevisions(1);
//接受修订
document.all.WebOffice1.SetTrackRevisions(4);
原 型: longShowRevisions(long nNewValue);
功 能:显示、隐藏修订
参 数:
nNewValue:要保存的文件路径和文件名
└ 1:显示修订
└ 0:隐藏修订
返回值:
示例:
document.all.WebOffice1.ShowRevisions(0); //隐藏修订
原 型: longSetCurrUserName(BSTR strCurrUserName);
功 能:设置当前编辑Word、Excel的用户名,主要用于修订文档,标识不同人进行的不同操作
参 数:strCurrUserName:当前编辑人的用户名
返回值:
示 例:document.all.WebOffice1.SetCurrUserName("张三");
原 型: long ShowDialog(longdwIndex);
功 能:
显示对话框
参 数:
dwIndex:对话框的ID数值,详细的数值列表请参照附件。
返回值:
示 例:
原 型: long UnProtectDoc(BSTR strPwd);
功 能:解除当前文档保护
参 数:strPwd文档保护时所设置的密码
返回值:
0:解锁成功
非零:解锁失败
示 例:
document.all.WebOffice1.UnProtectDoc("12345");
原 型: longDocType;
说 明:文件类型,只读
数 值:
FILE_TYPE_WORD =11,
FILE_TYPE_WORD = 11,
FILE_TYPE_EXCEL = 12,
FILE_TYPE_PPT = 13,
FILE_TYPE_RTF = 14,
FILE_TYPE_WPS = 21,
FILE_TYPE_PDF = 31,
FILE_TYPE_UNK = 127
原 型: BSTRVersion;
说 明:打开文件的版本号,只读
数 值:
原 型: BSTRVersion;
说 明:打开文件的版本号,只读
数 值:
原 型: BOOL LEventRet;
说 明:见事件 NotifyToolBarClick事件
数 值:
原 型: BOOLIsModify;
说 明:判断文档是否被修改,需要在LoadOrigarFile之前设置 OptionFlag|= 0x0400 才有效。
原 型: long lContinue;
功 能:用于NotifyWordEvent的处理函数中,可以终止相应事件的继续执行
参 数:
返回值:
1:可以继续执行(默认)
0:不是2007版本
示 例:
//禁止关闭当前的Word/Excel/Wps文档
OnNotifyWordEvent(BSTRstrEventName)
{
if(strEventName == “DocumentBeforeClose”)
{
lContinue = 0;
}
}
原 型:void NotifyWordEvent(BSTRstrEventName);
说 明:捕获部分Word/Excel/Wps事件。
参数:strEventNameàWord/Excel的事件名,可能是以下的数值
DocumentChange
DocumentBeforeClose
DocumentBeforePrint
DocumentBeforeSave
备注:本事件在本版本扩展到Excel和Wps的支持,且可以终止该事件的继续执行(使用属性lContinue)。
原 型:void NotifyCtrlReady();
说 明:当控件准备完毕后触发,一般在这个事件中完成初始化的操作。
原 型:voidNotifyToolBarClick(long iIndex);
参 数:
long iIndex : 工具栏按钮ID。
ID_RETURN 32769
ID_NEW 32770
ID_OPEN 32771
ID_SAVEAS 32772
ID_FULLSCREAN 32773
ID_PRINT 32774
ID_PRINTVIEW 32775
说 明:
(不适用于Office2007)每个按钮都有默认的处理动作,如果不希望触发默认的处理动作,需要在此时间中设置属性lEventRet = 0;
以下实例截获了SAVEAS的按钮事件。
//1. 定义事件处理函数
//2. 截获处理事件
functionWebOffice1_NotifyToolBarClick(lCmd) {
if(32772==lCmd){
document.all.WebOffice1.lEventRet = 0;
}
}
附录:WebOffice文件Http上传原理
WebOffice文件Http上传原理分析
WebOffice控件使用了自身的文件Http上传接口实现文件和表单域的上传保存,本文将简要介绍该上传方式的原理和使用方法。注:WebOffice的上传接口和AIP是一致的。
原理
因为Web页面上的WebOffice打开的文件无法随表单记录提交到处理页面,所以我们把文件模拟成表单的文件域,通过接口把文件和表单元素发送到保存记录的页面(过程类似表单的提交)。
主要上传接口:
l HttpInit();
该方法用于初始化上传接口,不需要设置参数
l HttpAddPostString(String FieldName, String someValue);
添加要提交的表单域, FieldName是要上传表单域名称,someValue是表单域值
例一:
HttpAddPostString("username", "zhangSan");
它类似域表单域的
例二:
HttpAddPostString("username", WebForm.username.value);
….
注意:如果使用 上传接口,那么form表单里的表单域不会被提交到处理页面。需要手工添加到上传接口(HttpAddPostString接口),然后通过控件发送到处理页面。例二使用了“WebForm.username.value”获取表单域值。
l HttpAddPostCurrFile(String fileName, String ReName);
添加当前WebOffice编辑的文件给上传接口,该接口把文件模拟到成一个表单的文件域,并提交到处理页面。
例一:
HttpAddPostCurrFile("AipFile", "");
该接口模拟表单文件域如下:
注意:第二个参数为空表示控件自动为文件命名,如:dj_temp.aip,如果需要重命名可以在第二个参数指明文件名称,也可在保存页面指定文件名称。
l HttpPost(String url);
执行上传操作将文件和表单域提交到url的页面进行保存操作,并获取url页面返回的执行结果 (是否成功,可以根据这个结果来获取服务器端执行的结果)。
url支持绝对路径和相对路径。
相对路径要以“./”或者“../”开头。例如:./savedoc.asp
完整的上传接口演示
function SaveDoc() {
var returnValue; //保存页面的返回值
document.all.WebOffice1.HttpInit(); //初始化Http引擎
//添加相应的Post元素
document.all.WebOffice1.HttpAddPostString("username", WebForm. username.value);
//添加上传文件
document.all.WebOffice1.HttpAddPostCurrFile("AipFile ","");
//提交上传文件
returnValue = document.all.WebOffice1.HttpPost("../saveDoc.jsp");
if("true" == returnValue){
alert("文件上传成功");
} else {
alert("文件上传失败")
}
}
关于保存
WebOffice上传接口将数据流以Http方式提交到保存页面,至于对数据处理就和普通的文件上传处理一样了,具体代码参考附件(asp和jsp的实现)。
-
jsp weboffice控件
2007-09-12 17:11:24jsp weboffice控件.rar -
WebOffice控件weboffice_v6.0.4.4
2010-05-28 11:38:20WebOffice控件weboffice_v6.0.4.4 -
在线文档webOffice控件使用心得
2019-10-03 21:18:34使用WebOffice weboffie可以实现跨浏览器编辑office文档,它是一种系统级控件相当于在系统上安装了响应的软件,然后在浏览器上进行调试,这就意味着需要跳出当前浏览器而调用软件自己的浏览器。而上面提到的其他...目前尚无免费的跨浏览器的office文档插件。而收费的有款PageOffice,但是在实际使用时,与直接开启office编辑工具相比,功能上还存在较大差异。
使用WebOffice
weboffie可以实现跨浏览器编辑office文档,它是一种系统级控件相当于在系统上安装了响应的软件,然后在浏览器上进行调试,这就意味着需要跳出当前浏览器而调用软件自己的浏览器。而上面提到的其他控件是浏览器控件,直接嵌入到浏览器中,可以做到无缝使用;
问题
1.跳出浏览器意味着就不能实现session共享。
需要通过session传值的解决办法;
当用户使用智能窗打开系统内页时,session值如何传递的问题:
WebOffice使用URL_TOKEN解决方案:
1.)、当用户登录系统时,记下用户的账号名称和登录时间存入数据库两个字段,并将账号名和登录时间统一成字符串后进行MD5加密产生一个密码串 并根据需要把要用的session值存入数据库响应的字段里。
2)、在打开智能窗时把账号名和MD5加密串分别用URL参数如 http://www.aa.com/aa.jsp?fileid=1&user=账号名&token=MD5加密串, 进行传递
3)、在aa.php通过获得账号名,招待库里存储的此账号最近一次登录的时间,通过前面登录时使用的加密算法对账号和从库里取出的时间进行md5加密,得出一个新的加密字符串,如果此加密字符串与网址里aa。php?field=1&user=账户名&token=MD5加密串里的参数的值一致,则一定是同一个人操作,接下来再到库中吧对应的session值读取出来就可以了。
验证通过
2、无法获得父窗口相应的属性。比如:在保存文档结束之后,父窗口不知道该操作结束,无法做出相应的更新。
解决办法:第一次操作时记录下相应状态并启动js轮询,保存后更改状态。当父窗口的js轮询返回对应的状态后,父页面进行相应更新,最后销毁该轮询。(本来是想采用websocket的,但好像部分浏览器暂时不支持html5)
3、自定义弹出窗口无法限制在文档之上。
解决办法:百度了div如何显示在ocx之上。
例子:
<center>
<div id=divinfo style="visibility:hidden">
<iframe style="position:absolute;top:50px;left:200px;background-color:transparent;" id=webifrm src="about:blank" width="1000px" height="350px" scrolling="no" frameborder="0"></iframe>
<div style="position:absolute;top:50px;left:200px;border:0px solid transparent;">
<div class="easyui-panel" style="margin:-10px 0px 0px -10px">
<div id="p" class="easyui-panel" title="插入标签" style="width:1000px;height:350px;margin:0px;"
data-options="collapsible:false,minimizable:false,maximizable:false,closable:false,tools:[{
iconCls:'icon-clear',handler:closeBqPanel
}]">
<form id="wsmbbqForm" method="post" class="form-horizontal">
分类代码: <input id="txt_fldm" name="txt_fldm" size="30" class="easyui-combobox" data-options="valueField:'id',textField:'text',url:'${(appName)!}/common/dict?fldm=SSTJ_W91'"/>
标签名称: <input id="txt_bqmc" class="easyui-textbox" style="width:200px">
<button type="button" class="btn button-primary easyui-linkbutton" iconCls="icon-search" οnclick="funSearchBq()">查询</button>
<button type="reset" class="btn button-warning easyui-linkbutton" iconCls="icon-reload" οnclick="$('#wsmbbqForm').form('clear');">重置</button>
</form>
<div id="bqGrid" class="easyui-panel" style="width:100%;padding:10px">
</div>
</div>
</div>
</div>
</div>
</center>
-
WebOffice安装教程Hello World!(win10 IE打开控件问题)
2020-04-29 15:48:23老师让看这个……虽然不知道要干啥 文章目录WebOffice安装教程环境WebOffice控件下载与...设计WebOffice控件加载页(edit.html)4.修改编码 WebOffice安装教程 环境 操作系统版本:win10 Office版本:Microsoft Offic... -
解决Weboffice控件的遮挡问题
2018-04-11 16:01:16在页面加载完成后调用Ext.useShims=true;即可解决控件遮挡问题:Ext.onReady(function(){ Ext.useShims = true;} -
点聚weboffice6控件及其使用
2013-05-29 14:51:34点聚weboffice6控件及其使用,开发OA等必用插件 -
金格OFFICE控件卸载
2015-02-06 15:01:08金格OFFICE控件卸载 ACTIVEX -
WebOffice控件的使用
2014-10-23 14:28:59webform.WebOffice.RecordID="<%=mRecordID%>"; webform.WebOffice.Template="<%=mTemplate%>"; webform.WebOffice.FileName="<%=mFileName%>"; webform.WebOffice.FileType="<%=mFileType%>"; webform.Web... -
金蝶 苍穹 WebOffice控件使用
2021-04-22 23:29:11WebOffice控件的编程模型为WebOffice,派生自控件编程模型基类Control: Java package kd.bos.form.control; public class WebOffice extends Control{ 插件可以通过如下代码... -
点聚weboffice + demo+sdk+控件
2021-07-13 14:15:51点聚weboffice + demo+sdk+控件 -
DSOFRAMER webOffice控件 asp.net实例
2012-11-22 17:39:27微软开源的dsogramer控件的使用asp.net示例源码,包括红头文件套用,插入书签等 -
文档管理控件WebOffice的产品架构原理——一张图就能解释
2021-08-06 08:36:16WebOffice是流行于国内市场的文档管理控件。20多年来,经华尔太科技研发团队不断迭代升级,WebOffice已更新至2019版本,最新版永久突破谷歌...本文将为大家介绍WebOffice控件的产品架构原理,请继续往下阅读↓1、浏... -
点聚WebOffice 控件 使用LoadOriginalFile 打开服务器文件
2013-05-30 09:58:39对于点聚weboffice ocx控件来说,使用document.all.WebOffice1.LoadOriginalFile("", "doc")可以打开一个空白页。 但是想打开一个服务器文件,那么第一个参数必须使用文件的全目录。如我的: document.all.Web... -
WEB下使用的OFFICE控件介绍 weboffice
2011-10-29 23:14:02WEB下使用的OFFICE控件介绍 WEB下使用的OFFICE控件介绍 -
webOffice替换(前台、后台)
2015-04-25 10:03:55webOffice替换(前台、后台),替换word中指定的内容,通过替换书签的方式 -
weboffice插件下载安装
2014-07-08 18:10:58weboffice -
点聚weboffice免费控件使用说明
2013-06-19 16:54:24点聚weboffice开发文档,接口说明,WebOffice 文档控件 -
点聚WebOffice最新免费版(含X86 X64通用控件、开发接口、DEMO)
2021-03-05 15:30:22WEBOFFICE是标准的ACTIVEX组件,支持在应用开发平台中嵌入整合。 C/S平台:VB、VC、Delphi … … B/S平台:ASP、PHP、Java、ASP.Net、C#.Net … … 二、 主要功能 ID 功能项 详细说明 1 文件格式 支持大多数的文件... -
利用WebOffice控件来进行编辑office文档。
2012-07-28 10:39:00最后找来找去发现有个免费的控件“点聚WebOffice”。经过两天的测试发现还不错。虽然里面也有些不完善的地方。先说一下不足吧,想用的同学可以斟酌。 1、在Widnows 7 x64下运行不稳定,经常会导致ie浏览器崩溃。 2...