WebOffice常用API接口在线参考手册

1.第一步点此下载WebOffice.rar安装包,本地安装WebOffice组件

2.如何加载控件

下面是控件加载代码,这些代码是固定的,只需放到你网页相应位置即可。
        上面代码放到网页BODY标签后面任意位置,完成后如下:
        完成以上步骤后,将上面代码保存为一张HTML网页,即可以用IE打开网页看到控件界面。
        本示例假定你使用IE进行测试,32位系统可以直接使用IE测试,如果使用64位系统则在本地机找到32位IE后(具体位置在:系统磁盘C盘->Program Files (x86)\Internet Explorer\iexplore.exe,可以将此程序发送到桌面快捷方式),右键管理员运行此IE或此快捷方式访问。64位系统如果使用64位IE,则建议开启智能窗模式访问。关于智能窗模式开启请参考下面Chrome或Firefox方式的访问。
        如果你需要用Edge、Chrome或Firefox访问,则需要开启智能窗模式,具体如果启用智能窗模式,请参考: WebOffice入门教程:Hello World!里 关于3.设计启动页(index.html)里面的具体内容。
        在网页里看到控件界面显示出来后,即可通过控件提供的接口进行新建、打开和保存文档操作。

3.控件部份接口使用说明

1.新建文档

方式一:CreateNew接口

        用ProgId方式依本地机OFFICE版本新建文件方式,此方式如果本地机是Office2003则建立的文档是DOC,XLS,PPT等格式,如果本地机是OFFICE2007以上版本,则建立的文件是DOCX,XLSX,PPTX等格式。
         //新建WORD文档
         document.getElementById('WebOffice').CreateNew("Word.Document");
         //新建EXCEL文档
         document.getElementById('WebOffice').CreateNew("Excel.Sheet");
         //新建PPT文档
         document.getElementById('WebOffice').CreateNew("PowerPoint.Show");
         也可以写成
         网页获到WebOffice编程对象:
         var WebOffice=document.getElementById('WebOffice');
         执行上面语句,则WebOffice即为JS的控件编程对象,有了此对象名,即可访问相关接口,让控件工作。
         //新建WORD文档
         WebOffice.CreateNew("Word.Document");
         //新建WORD文档
         WebOffice.CreateNew("Excel.Sheet");
         //新建PPT文档
         WebOffice.CreateNew("PowerPoint.Show");
         上面两个写法是相同的,下面的接口也类似。

方式二:Open接口

        采用模板方式建立(实际项目开发式建议此方式)
         在服务器上存放好DOC,DOCX,XLS,XLSX,PPT,PPTX等格式的模板文件,需要建立时打开对应格式的模板文件即可。
         1.打开一个空白doc文档,建立doc文档
         WebOffice.Open('http://www.officectrl.com/weboffice/temp/word.doc',true,"Word.Document");
         2.打开一个空白xls文档,建立xls文档
         WebOffice.Open('http://www.officectrl.com/weboffice/temp/excel.xls',true,"Excel.Sheet");
         3.打开一个空白ppt文档,建立ppt文档
         WebOffice.Open('http://www.officectrl.com/weboffice/temp/ppt.ppt',true,"PowerPoint.Show");
         4.打开一个空白docx文档,建立docx文档
         WebOffice.Open('http://www.officectrl.com/weboffice/temp/word.docx',true,"Word.Document");
         5.打开一个空白xlsx文档,建立xlsx文档
         WebOffice.Open('http://www.officectrl.com/weboffice/temp/excel.xlsx',true,"xlsx");
         6.打开一个空白pptx文档,建立pptx文档
         WebOffice.Open('http://www.officectrl.com/weboffice//temp/ppt.pptx',true,"pptx");

2.打开文件方法:Open接口

         1.打开本地路径的文件:
         document.getElementById('WebOffice').Open("c:\\aa.doc");
         2.指定用WORD来打开本地文本文件:
         document.getElementById('WebOffice').Open("c:\\aa.txt",true,"Word.Document");
         3.打开服务器上的文件:
         document.getElementById('WebOffice').Open("http://aaa.com/aa/a.doc");
         4.指定用WORD来打开服务器上的文件:
         document.getElementById('WebOffice').Open("http://aaa.com/aa/a.doc",true,"Word.Document");
         5.二进制流的方式打开文件:
         document.getElementById('WebOffice').Open("http://aaa.com/aa/a.jsp?id=1",true,"Word.Document");
         上面open方法的第二个参数 false,true是可以自由选择的,暂未起实质作用。

3.保存文件

3.1保存文件到本地电脑

save接口

         document.getElementById('WebOffice').Save("c:\\aa.doc");

saveas接口

         document.getElementById('WebOffice').ActiveDocument.SaveAs("c:\\aa.doc");

3.2保存文件到服务器

         采用HTTP标准协议上传文件,在服务器端需要运行一个jsp、php、.net或Node.js等脚本,用于接上客户端上来过来的文件并保存到服务器硬盘或数据库里。
         这个接收脚本页面编写类似于传统网页表单Post上传接收文件的一个页面,此页面完成数据接收保存工作。
         接收页面的地址类似于:http://www.officectrl.com/officecs/upload.aspx?id=1

3.2.1 save方法

         如:strSaveUrl = "http://www.officectrl.com/officecs/upload.aspx?id=1";
         则:
         document.getElementById('WebOffice').Save("http://www.officectrl.com/officecs/upload.aspx?id=1");
         或
         document.getElementById('WebOffice').Save(strSaveUrl);

3.2.2 httppost方法

         模拟表单Post上传,采用标准Http协议Post上传文档数据,将文档Post到一个动态页面 (servlet,jsp,php,aspx,asp,node.js......),由此动态网页负责接收和保存上传过来的参数变量和文档二进制数据。
        
         HttpInit();
         HttpAddPostString(参数名,参数值);
         HttpAddPostCurrFile("docfile",上传文档名称);
         HttpPost(服务器动态页面地址);

         示例:
         //初始化Http引擎,最新版控件可以不需要再初始化
         document.getElementById('WebOffice').HttpInit();
         //增加上传参数变量,类似与表单录入框名称和值,比如下面语句:ID为名称,202001为值
         document.getElementById('WebOffice').HttpAddPostString("id","202001");
         document.getElementById('WebOffice').HttpAddPostString("User","张三");
         //将控件里打开的WORD文档以A.DOC名称上传,docfile为固定的参数
         document.getElementById('WebOffice').HttpAddPostCurrFile("docfile", "a.doc");
         //上面语句为准备上传的数据,接下来执行模拟表单上传动作
         document.getElementById('WebOffice').HttpPost("http://www.officectrl.com/officecs/upload.aspx?id=1");

         注意用Save方法保存与httpPost方法保存的接收程序写法是不同的,具体可以参考相关示例:
         HttpPost接口实现 http://www.officectrl.com/down/word0.1.rar
         Save接口 http://www.officectrl.com/down/word0.2.rar

4.DeleteLocalFile 删除本地电脑的一个文件

        WebOffice.DeleteLocalFile('c:\\a.doc');
         或
         document.getElementById('WebOffice').DeleteLocalFile('c:\\a.doc');

5.SetCurrUserName 设置当前用户

         一般打开文档后,需要设置当前操作的用户名(项目开发时常用到)
         document.getElementById('WebOffice').SetCurrUserName("呢称");

6.SetCurrTime 设置当前时间

        (留痕会显示("Like 2020:03:01 9:10:7")
         document.getElementById('WebOffice').SetCurrTime("2020:03:01 9:10:7");

7.SetTrackRevisions 修订留痕

         设置当前打开的文档为留痕状态
         document.getElementById('WebOffice').SetTrackRevisions(1);
         设置当前打开的文档为非留痕状态
         document.getElementById('WebOffice').SetTrackRevisions(0);
         接受此文档的当前修订
         document.getElementById('WebOffice').SetTrackRevisions(4);

8.ShowRevisions 显示或隐藏修订内容

         1 显示痕迹
         document.getElementById('WebOffice').ShowRevisions(1);
         0 隐藏痕迹
         document.getElementById('WebOffice').ShowRevisions(0);
        

9.插入合并文件

         WORD文档头部插入文件
         document.getElementById('WebOffice').InSertFile("http://www.officectrl.com/weboffice/temp/file1.doc",1);
         WORD文档尾部插入文件
         document.getElementById('WebOffice').InSertFile("http://www.officectrl.com/weboffice/temp/file1.doc",2);
         WORD文档当前光标位置插入文件
         document.getElementById('WebOffice').InSertFile("http://www.officectrl.com/weboffice/temp/file1.doc",0);
         WORD文档头部插入图片
         document.getElementById('WebOffice').InSertFile("http://www.officectrl.com/images/logo.png",9);
         WORD文档尾部插入图片
         document.getElementById('WebOffice').InSertFile("http://www.officectrl.com/images/logo.png",10);
         WORD文档当前光标位置插入图片
         document.getElementById('WebOffice').InSertFile("http://www.officectrl.com/images/logo.png",8);
        

10.保护文档和解保护文档

        ProtectDoc(lProOrUn,lProType,strProPWD)
         参数说明:
         lProOrUn:1:保护文档;0:解除保护
         lProType:
         wdNoProtection = -1,
         wdAllowOnlyRevisions = 0,
         wdAllowOnlyComments = 1,
         wdAllowOnlyFormFields = 2
         strProPWD:密码
         示例:
         保护文档,密码为"123"
         document.getElementById('WebOffice').ProtectDoc(1,1,"123");
         解除文档保护
         document.getElementById('WebOffice').ProtectDoc(0,1,"123");

11.SetFieldValue 设置和创建书签

         SetFieldValue(strFieldName,strValue,strCmdOrSheetName)
         strFieldName:书签名
         strValue:要设置的值
         strCmdOrSheetName:命令 有如下参数值
         ::ADDMARK:: 添加书签
         ::DELMARK:: 删除书签
         ::SETCOLOR:: 设置书签颜色
         ::GETCOLOR:: 获得书签颜色
         ::GETMARK:: 定位到这个书签
         ::FILE:: 插入的是文件
         ::JPG:: 插入的是图片
         ::FLOATJPG:: 插入的是浮动图片
         书签是WORD本身的功能,可以事先设置位置书签或值书签,然后通过上述接口与此书签交互,实现智能填充。
         //在当前WORD位置插入标签,标签名为"mark1",数值为"123"
         document.getElementById('WebOffice').SetFieldValue("mark1","123","::ADDMARK::");
         //设置书签"time1",数值为"2020-03-01 10:12:01"
         document.getElementById('WebOffice').SetFieldValue("time1","2020-03-01 10:12:01","");
         //在书签位置"taohong",插入红头文件"http://www.officectrl.com/weboffice/temp/file1.doc"
         document.getElementById('WebOffice').SetFieldValue("taohong","http://www.officectrl.com/weboffice/temp/file1.doc","::FILE::");
        

12.SaveAs 文档另存为

         SaveAs( strFileName, dwFileFormat);
         参数:
         strFileName:文件本地路径,如c:\\a.doc
         dwFileFormat: 文件格式
         对于Word,Excel,PPT文档dwFileFormat的数值是不同的:
        
        
Excel: Type 
enum XlFileFormat
{
    xlAddIn = 18,
    xlCSV = 6,
    xlCSVMac = 22,
    xlCSVMSDOS = 24,
    xlCSVWindows = 23,
    xlDBF2 = 7,
    xlDBF3 = 8,
    xlDBF4 = 11,
    xlDIF = 9,
    xlExcel2 = 16,
    xlExcel2FarEast = 27,
    xlExcel3 = 29,
    xlExcel4 = 33,
    xlExcel5 = 39,
    xlExcel7 = 39,
    xlExcel9795 = 43,
    xlExcel4Workbook = 35,
    xlIntlAddIn = 26,
    xlIntlMacro = 25,
    xlWorkbookNormal = -4143,
    xlSYLK = 2,
    xlTemplate = 17,
    xlCurrentPlatformText = -4158,
    xlTextMac = 19,
    xlTextMSDOS = 21,
    xlTextPrinter = 36,
    xlTextWindows = 20,
    xlWJ2WD1 = 14,
    xlWK1 = 5,
    xlWK1ALL = 31,
    xlWK1FMT = 30,
    xlWK3 = 15,
    xlWK4 = 38,
    xlWK3FM3 = 32,
    xlWKS = 4,
    xlWorks2FarEast = 28,
    xlWQ1 = 34,
    xlWJ3 = 40,
    xlWJ3FJ3 = 41,
    xlUnicodeText = 42,
    xlHtml = 44
};
Word: Type
enum WdSaveFormat
{
    wdFormatDocument = 0,
    wdFormatTemplate = 1,
    wdFormatText = 2,
    wdFormatTextLineBreaks = 3,
    wdFormatDOSText = 4,
    wdFormatDOSTextLineBreaks = 5,
    wdFormatRTF = 6,
    wdFormatUnicodeText = 7,
    wdFormatEncodedText = 7,
    wdFormatHTML = 8
};
PPT:
enum PpSaveAsFileType
{
    ppSaveAsPresentation = 1,
    ppSaveAsPowerPoint7 = 2,
    ppSaveAsPowerPoint4 = 3,
    ppSaveAsPowerPoint3 = 4,
    ppSaveAsTemplate = 5,
    ppSaveAsRTF = 6,
    ppSaveAsShow = 7,
    ppSaveAsAddIn = 8,
    ppSaveAsPowerPoint4FarEast = 10,
    ppSaveAsDefault = 11,
    ppSaveAsHTML = 12,
    ppSaveAsHTMLv3 = 13,
    ppSaveAsHTMLDual = 14,
    ppSaveAsMetaFile = 15,
    ppSaveAsGIF = 16,
    ppSaveAsJPG = 17,
    ppSaveAsPNG = 18,
    ppSaveAsBMP = 19
};
 

13.GetTempFilePath 创建临时文件

         var strFile = document.getElementById('WebOffice').GetTempFilePath()
         GetTempFilePath会返回本地电脑一个临时文件存储地址,使用后应用DeleteLocalFile删除。

14.ShowView 设置文档显示模式

         ShowView(dwViewType);
         dwViewType的可取值为:
        
enum WdViewType
{
    wdNormalView = 1, //正常模式
    wdOutlineView = 2, 
    wdPrintView = 3, 
    wdPrintPreview = 4,打印预览
    wdMasterView = 5, //大纲模式
    wdWebView = 6 //网页方式
};
  

         //大纲模式
         document.getElementById('WebOffice').ShowView(5);

15.DownloadFile 下载远程文件

         DownloadFile( strRemoteFile, strLocalFile)
         参数:
         strRemoteFile:远程路径地址
         strLocalFile: 本地保存地址

16.GetRevInfo 获取详细的留痕信息

         GetRevCount();
         GetRevInfo(lIndex,lType);
         例子如下
        
var RevCount;
RevCount = document.getElementById('WebOffice').GetRevCount();
alert("共有"+RevCount+"修订痕迹"); 
for(var i=1; i<= RevCount; i++){
        chrOper = document.getElementById('WebOffice').GetRevInfo(i,2);
        if("1" == chrOper){
                chrOper = "插入";
        }else if("2" == chrOper){
                chrOper = "删除";
        }else{
                chrOper = "设置格式";
        }
        editDate = new String(document.getElementById('WebOffice').GetRevInfo(i,1)); 
        alert(editDate + " 用户:"+document.getElementById('WebOffice').GetRevInfo(i,0) + "\r\n操作:" + chrOper + "\r\n内容:" + document.getElementById('WebOffice').GetRevInfo(i,3));
} 
 

17.SetPageAs Word分页保存

         SetPageAs(strLocalFile,lPageNum)
         strLocalFile:本地路径
         lPageNum:第几页页码
         将当前打开的文件档的第1页以a.doc保存在C盘根目录下:
         document.getElementById('WebOffice').SetPageAs("c:\\a.doc",1);
         将当前打开的文件档的第2页以b.doc保存在C盘根目录下:
         document.getElementById('WebOffice').SetPageAs("c:\\b.doc",2);
        

更多接口请正版后获取......




返回首页