设为首页 加入收藏

TOP

C#调用WORD处理的实例代码(包含excel)(一)
2019-09-02 23:43:00 】 浏览:43
Tags:调用 WORD 处理 实例 代码 包含 excel

  最近程序人生(http://www.manong123.com)一个朋友让我帮他做一个小功能,其实就是把WORD文档里的内容存到数据库里去,可以实现搜索并转EXCEL的功能,需求很简单,想不到加上部署折腾了我一个星期,我先把需求详细描述一下:

      提供一个WORD文档的样板,这个WORD文档里大部分是文本,其中插入了一个EXCEL表格,WORD的内容如下:

     

房地产价值监证确认书

 

                     编号:(2009交)价确字第   号

 邓征兵  

根据您的委托,我单位派遣专业评估人员对位于  大祥区翠园    的房地产(《房屋所有权证》)号为 0013210 ,房屋所有权人  邓文兵   房屋所在层次/总层数  6 / 8 ,进行了现场勘估。

评定估价对象房屋的结构等级为    砖混     ,建成年代为 90年代末  ,成新度为   9成   

确认房屋价值如下表:

这里有个EXCEL表格

 

监证目的:交易课税

 

备注:                                                   

                                                       

邵阳市房产产权监理处价格管理科

现场评估:黄生忠

审    批:

                                2009 年 2 月 10 日

就是把这个文件中相关内容存入数据库,同时要能够实现查询,比如根据委托人查询,同时要把查询的结果能转EXCEL。

功能就是这样的,先把其中用到的技术点挑出来,

一读WORD里的内容,这个并不难;

Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();
            object file = nam;
            object nullobj = System.Reflection.Missing.Value;
            try
            {
                Microsoft.Office.Interop.Word.Document doc = wordApp.Documents.Open(
                ref file, ref nullobj, ref nullobj,
                ref nullobj, ref nullobj, ref nullobj,
                ref nullobj, ref nullobj, ref nullobj,
                ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj);

                //doc.ActiveWindow.Selection.WholeStory();
                
                //doc.ActiveWindow.Selection.Copy();

                //IDataObject data = Clipboard.GetDataObject();
                
                fileContent = doc.Content.Text;   //这里读取所有的WORD里的文本             
}

二读WORD文件里EXCEL里的数据,这个是比较困难的,我试了很多方式,也没有查到相关的资料,最后在国外论坛上看见了VB的代码,然后修改了一下,可以用;

foreach (Microsoft.Office.Interop.Word.InlineShape ish in doc.InlineShapes)
                {
                    if (ish.Type == Microsoft.Office.Interop.Word.WdInlineShapeType.wdInlineShapeEmbeddedOLEObject)
                    {
                        if (ish.OLEFormat.ProgID == "Excel.Sheet.8")
                        {
                            //ish.OLEFormat.DoVerb(ref nullobj);

                            ish.OLEFormat.Activate();
                            Microsoft.Office.Interop.Excel.Workbook objEXl = (Microsoft.Office.Interop.Excel.Workbook)ish.OLEFormat.Object;
                            buildArea = ((objEXl.Worksheets[1] as Microsoft.Office.Interop.Excel.Worksheet).Cells[2, 2] as Microsoft.Office.Interop.Excel.Range)
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇此成员资格提供程序没有被配置为.. 下一篇C#中使用GUID的笔记

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目