游戏技术文章

asp.net操作word的表格

时间:2017-1-9 11:36:25  作者:棋牌资源网  来源:棋牌资源网  查看:6726  评论:0
内容摘要:近日开发中用户要求实现导出数据为Word,本来想使用html保存为word的实现,但因用户要求样式很高,使用html不好控制,并且导出中包括图片,使用页面导出时图片还是一个路径,不能把图片包括在word中,所以就必须使用原生的Word进行操作了。开发环境:windows 8 + ...
近日开发中用户要求实现导出数据为Word,本来想使用html保存为word的实现,但因用户要求样式很高,使用html不好控制,并且导出中包括图片,使用页面导出时图片还是一个路径,不能把图片包括在word中,所以就必须使用原生的Word进行操作了。

开发环境:windows 8 + visual studio 2010 + dotnetframework 4 + word 2010

开发过程:

1. 因之前并没有开发过word应用,所以先创建一个word应用程序,看看引用了哪些Dll;

2. 创建一个asp.net应用程序,命名为MyWebWord,添加word应用程序中对word相关的引用:

Microsoft.Office.Interop.Word
Microsoft.Office.Tools
Microsoft.Office.Tools.Word
3. 先创建word模板oriWord.doc,放到web应用程序下的wordDod目录下;
4 . 然后创建代码,主要代码如下:
  1. <span style="font-size:18px;">...  
  2. using Word = Microsoft.Office.Interop.Word;  
  3. ...  
  4.             // 复制文件  
  5.             string oriFilename = System.Web.HttpContext.Current.Server.MapPath("~/WordDoc/OriWord.doc");  
  6.             string targetFilename = System.Web.HttpContext.Current.Server.MapPath("~/WordDoc/New.doc");  
  7.             System.IO.File.Copy(oriFilename,targetFilename,true);  
  8.             Word.Application WordApp = new Word.ApplicationClass();  
  9.             // 打开文件  
  10.             Word.Document doc = WordApp.Documents.Open(targetFilename);  
  11.             try  
  12.             {  
  13.                 操作word中的表格  
  14.                 Word.Table tbl = doc.Tables[1];  
  15.                 tbl.Cell(3, 2).Range.Text = "张三";  
  16.                 tbl.Cell(4, 2).Range.Text = "A公司";  
  17.                 tbl.Cell(5, 2).Range.Text = "38岁";  
  18.                 tbl.Cell(6, 2).Range.Text = "开发工程师";  
  19. ......  
  20.             }  
  21.             finally  
  22.             {  
  23.                 doc.Save();  
  24.                 doc.Close();  
  25.                 WordApp.Quit();  
  26.                 doc = null;  
  27.                 WordApp = null;  
  28.                   
  29.             }  
  30. </span>  
在vs开发服务器下运行正常。
5. 部署到windows2008服务器上,出现com clsId。。。拒绝操作的错误,经先后多次搜索、尝试,最后成功,具体操作如下:
a.在webconfig中增加模拟管理权权限
在system.web节点下增加
<identity impersonate="true" userName="系统管理员" password="系统管理员密码"/>
一般情况下能够解决上面的问题。能够操作服务器新建EXCEL,WORD。
但是在OFFICE 32和WINDOWS 64位的情况下,似乎不能操作EXCEL和WORD。  
b. 在组件服务-DCOM设置 Excel 和 Word App的属性,从管理工具中进入(或命令行dcomcnfg进入)
  找到Microsoft Office Word 97 - 2003文档,
asp.net操作word的表格
点击右键--属性--“标识”tab--选交互用户。
再在“安全”tab--“启动和激活权限”--自定义--编辑--安全性--添加"NETWORK SERVICE"用户--“本地启动”和“本地激活”权限。
依然“安全”tab--“ 访问权限 ”--自定义--编辑--安全性--添加"NETWORK SERVICE"用户--“本地启动”和“本地激活”权限。 
重启IIS。
 
到此在IIS8中asp.net操作word的配置完成,测试运行也正常了。
 
在开发过程中也存在了另外一个问题,一直没有能够解决:
  在win8的IIS中运行时,打开word文档时,不报错,而是直接返回为空,多种尝试都没有结果,而且不win8下dcom设置中没有显示上图中的的 word文档,网上说的word的id,在win8下的dcom中也没有出现,所以也一直没有运行成功。哪位大牛知道如何处理,请指教一下。
标签:asp.net操作word的表格 

欢迎加入VIP,【VIP售价:只要288元永久VIP会员】畅享商业棋牌游戏程序下载,点击开通!

下载说明


☉本站所有源码和资源均由站长亲自测试-绝对保证都可以架设,运营!
☉如源码和资源有损坏或所有链接均不能下载,请告知管理员,

☉本站软件和源码大部分为站长独资,资源购买和收集,放心下载!

☉唯一站长QQ:1004003180  [人格担保-本站注重诚信!]

☉购买建议E-mail:1004003180@qq.com   源码收购 E-mail:1004003180@qq.com    

☉本站文件解压密码  【文章内都自带解压密码,每个密码不同!】


本站提供的所有源码,均来源站长提供,仅学习交流 浙ICP备09009969号

由此产生不良后果和法律责任与本站无关,如果侵犯了您的版权,请来信告知 1004003180@qq.com 将及时更正和删除! 

Copyright © 2008-2024 棋牌资源网,你身边的棋牌资源下载站    All Rights Reserved