首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> C# >> 正文

C#封装Word常用操作类

    using System;
    using System.Collections.Generic;
    using System.Text;
    using Microsoft.Office.Interop.Word;
    using System.Diagnostics;
    namespace OfficeManager
    {
        public class WordClass : IDisposable
        {
            #region 字段
            private _Application m_WordApp = null;
            private _Document m_Document = null;
            private object missing = System.Reflection.Missing.Value;
            #endregion
            #region 构造函数与析构函数
            public WordClass()
            {
                m_WordApp = new ApplicationClass();
            }
            ~WordClass()
            {
                try
                {
                    if (m_WordApp != null)
                        m_WordApp.Quit(ref missing, ref missing, ref missing);
                }
                catch (Exception ex)
                {
                    Debug.Write(ex.ToString());
                }
            }
            #endregion
            #region 属性
            public _Document Document
            {
                get
                {
                    return m_Document;
                }
            }
            public _Application WordApplication
            {
                get
                {
                    return m_WordApp;
                }
            }
            public int WordCount
            {
                get
                {
                    if (m_Document != null)
                    {
                        Range rng = m_Document.Content;
                        rng.Select();
                        return m_Document.Characters.Count;
                    }
                    else
                        return -1;
                }
            }
            public object Missing
            {
                get
                {
                    return missing;
                }
            }
            #endregion
            #region 基本任务
            #region CreateDocument
            public void CreateDocument(string template)
            {
                object obj_template = template;
                if (template.Length <= 0) obj_template = missing;
                m_Document = m_WordApp.Documents.Add(ref obj_template, ref missing, ref missing, ref missing);
            }
            public void CreateDocument()
            {
                this.CreateDocument("");
            }
            #endregion
            #region OpenDocument
            public void OpenDocument(string fileName, bool readOnly)
            {
                object obj_FileName = fileName;
                object obj_ReadOnly = readOnly;
                m_Document = m_WordApp.Documents.Open(ref obj_FileName, ref missing, ref obj_ReadOnly, ref missing,
                    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing, ref missing);
            }
            public void OpenDocument(string fileName)
            {
                this.OpenDocument(fileName, false);
            }
            #endregion
            #region Save & SaveAs
            public void Save()
            {
                if (m_Document != null)
                    m_Document.Save();
            }
            public void SaveAs(string fileName)
            {
                object obj_FileName = fileName;
                if (m_Document != null)
                {
                    m_Document.SaveAs(ref obj_FileName, ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing, ref missing, ref missing);
                }
            }
            #endregion
            #region Close
            public void Close(bool isSaveChanges)
            {
                object saveChanges = WdSaveOptions.wdDoNotSaveChanges;
                if (isSaveChanges)
                    saveChanges = WdSaveOptions.wdSaveChanges;
                if (m_Document != null)
                    m_Document.Close(ref saveChanges, ref missing, ref missing);
            }
            #endregion
            #region 添加数据
            /// <summary>
            /// 添加图片
            /// </summary>
            /// <param name="picName"></param>
            public void AddPicture(string picName)
            {
                if (m_WordApp != null)
                    m_WordApp.Selection.InlineShapes.AddPicture(picName, ref missing, ref missing, ref missing);
            }
            /// <summary>
            /// 插入页眉
            /// </summary>
            /// <param name="text"></param>
            /// <param name="align"></param>
            public void SetHeader(string text, WdParagraphAlignment align)
            {
                this.m_WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;
                this.m_WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;
                this.m_WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(text); //插入文本
                this.m_WordApp.Selection.ParagraphFormat.Alignment = align;  //设置对齐方式
                this.m_WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument; // 跳出页眉设置
            }
            /// <summary>
            /// 插入页脚
            /// </summary>
            /// <param name="text"></param>
            /// <param name="align"></param>
            public void SetFooter(string text, WdParagraphAlignment align)
            {
                this.m_WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;
                this.m_WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryFooter;
                this.m_WordApp.ActiveWindow.ActivePane.Selection.InsertAfter(text); //插入文本
                this.m_WordApp.Selection.ParagraphFormat.Alignment = align;  //设置对齐方式
                this.m_WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument; // 跳出页眉设置
            }
            #endregion
            #region Print
 

[1] [2] 下一页

【责编:michael】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航