javascript中直接引用Microsoft的COM生成Word

<html>
<head>
	<meta http-equiv=Content-Type content="text/html;charset=utf-8">
	<title>Build Document by Script</TITLE>
	<SCRIPT LANGUAGE="text/javascript"> 
		function word_onclick() 
		{
			var myDocApp=null;
			myDocApp =new ActiveXObject("word.Application"); 
			myDocApp.Application.Visible = true; 
			var myDoc = myDocApp.Documents.Add();

			myDocApp.Selection.ParagraphFormat.Alignment=1 
			myDocApp.Selection.Range.Bold=true;
			myDocApp.Selection.Font.Size=22;
			myDocApp.Selection.Text="请假申请单"
			myDocApp.Selection.insertAfter("\n");
			myDocApp.Selection.MoveRight(2,10);    
			myDocApp.Selection.TypeParagraph();
			myDocApp.Selection.Font.Bold=false;
			myDocApp.Selection.Font.Size=12;

			var myTable0=myDoc.Tables.Add(myDocApp.Selection.Range,3,4);
			myTable0.cell(1,1).Range.Text="请假人";
			myTable0.cell(1,2).Range.Text="张三";
			myTable0.cell(1,3).Range.Text="请假时间";
			myTable0.cell(1,4).Range.Text="2006-2-10";

			myTable0.cell(2,1).Range.Text="工号";
			myTable0.cell(2,2).Range.Text="32412";
			myTable0.cell(2,3).Range.Text="填表时间";
			myTable0.cell(2,4).Range.Text="2006-2-9";

			myTable0.cell(3,1).Range.Text="请假原因";
			myTable0.cell(3,2).Range.Text="感冒";
			myTable0.cell(3,3).Range.Text="处理方式";
			myTable0.cell(3,4).Range.Text="病假";
			
			var range=myDocApp.ActiveDocument.Content;
			range.Collapse(0); 
			range.insertAfter("\n");
			range=myDocApp.ActiveDocument.Content;
			range.Collapse(0);
			
			var myTable2=myDoc.Tables.Add(range,1,2);
			myTable2.Columns(1).SetWidth(320,2);
			myTable2.cell(1,1).Range.Text="申请人签名"    //空格勿删
			myTable2.cell(1,2).Range.Text="申请人的签名";
			
			try{
				myDocApp.ActiveDocument.SaveAs("e:\\JaveToWord.doc");
			}catch(exception){
				alert("浏览器安全设置过高,保存文件到本地失败");
				myDocApp.Documents.close();
				myDocApp.Application.quit();
				myDocApp=null;
				window.close();
			}
		} 
	</SCRIPT>
</HEAD>
<BODY>
	<p><a href="javascript:word_onclick()">生成WORD</a></p>
</BODY>
</HTML>

要在 HTML 和 JavaScript 生成 Word 文档缩略图,可以使用 Office.js 库提供的 API,以下是一个简单的示例代码: ```html <!-- 引入 Office.js 库 --> <script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script> <!-- 创建 Word 文档容器 --> <div id="document-container" style="display:none"></div> <!-- 创建缩略图容器 --> <div id="thumbnail-container"></div> <script> // 初始化 Office.js 库 Office.initialize = function () { // 加载 Word 文档 Word.run(function (context) { var body = context.document.body; // 将 Word 文档插入到容器 body.getHtmlAsync(function (result) { var html = result.value; document.getElementById('document-container').innerHTML = html; // 将 Word 文档转换为缩略图 var image = new Image(); image.src = 'data:image/svg+xml,' + encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><foreignObject width="100%" height="100%"><div xmlns="http://www.w3.org/1999/xhtml">' + document.getElementById('document-container').innerHTML + '</div></foreignObject></svg>'); document.getElementById('thumbnail-container').appendChild(image); }); return context.sync(); }); }; </script> ``` 在上面的代码,我们首先引入了 Office.js 库,并创建了一个隐藏的容器用于加载 Word 文档。然后,我们使用 Office.js 的 API 将 Word 文档插入到容器,并将其转换为缩略图并显示在页面上。 请注意,此示例代码需要在支持 Office.js 的环境运行,例如 Microsoft Office Online 或 Office 客户端应用程序。对于其他环境,可能需要使用其他工具或库来生成 Word 文档缩略图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值