`

C# 导出Word

阅读更多

 

using System;
using System.Collections.Generic;
using System.Text;
using Word = Microsoft.Office.Interop.Word;
using System.Reflection;
using System.Data;

namespace ExportTest
{
    /// <summary>
    /// 导出word
    /// </summary>
    public class ExportWord
    {
        /// <summary>
        /// 将数据表导出到word
        /// </summary>
        /// <param name="dt">数据表</param>
        /// <param name="isShowWord">是否显示word</param>
        /// <param name="fileName">导出到文件名</param>
        /// <param name="picName">导出到word中图片名</param>
        /// <returns></returns>
        public static bool ExportToWord(DataTable dt, bool isShowWord, object fileName, string picName)
        {
            if (System.IO.File.Exists(fileName.ToString()))
            {
                System.IO.File.Delete(fileName.ToString());
            }
            bool result = true;

            Object myobj = Missing.Value; ;
            if (dt == null || dt.Rows.Count == 0)
            {
                result = false;
            }
            else
            {
                //建立Word应用
                Word.Application word = new Word.Application();

                //word文档
                Word.Document mydoc = new Word.Document();
                mydoc = word.Documents.Add(ref myobj, ref myobj, ref myobj, ref myobj);
                word.Visible = isShowWord;
                mydoc.Select();

                Word.Selection mysel = word.Selection;

                //mysel.InlineShapes.AddPicture(picName, ref myobj, ref myobj, ref myobj);
                object top = 100;
                object left = 300;
                object hw = 100;


                //将数据生成Word表格文件
                Word.Table mytable = mydoc.Tables.Add(mysel.Range, dt.Rows.Count, dt.Columns.Count, ref myobj, ref myobj);

                //设置列宽
                mytable.Columns.SetWidth(50, Word.WdRulerStyle.wdAdjustNone);

                //输出列标题数据
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    mytable.Cell(1, i + 1).Range.InsertAfter(dt.Columns[i].ColumnName);
                }
                //输出控件中的记录
                for (int i = 0; i < dt.Rows.Count - 1; i++)
                {
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        mytable.Cell(i + 2, j + 1).Range.InsertAfter(dt.Rows[i][j].ToString());
                    }
                }

                mydoc.Shapes.AddPicture(picName, ref myobj, ref myobj, ref left, ref top, ref hw, ref hw, ref myobj);

                //保存文本
                mydoc.SaveAs(ref fileName, ref myobj, ref myobj, ref myobj, ref myobj, ref myobj,
                ref myobj, ref myobj, ref myobj, ref myobj, ref myobj, ref myobj,
                ref myobj, ref myobj, ref myobj, ref myobj);
            }

            return result;
        }

    }
}
分享到:
评论

相关推荐

    c#导出word文件(附带图片)

    c#导出word文件,附带word纸张页边距,字体,行边距,间距紧缩比 磅值等的设置。使用的时候需要引用dll

    C#导出word报表源码 Word文档生成

    首先,"C#导出word报表源码"是指利用C#编程语言编写代码来创建Microsoft Word文档,这通常涉及到使用Open XML SDK或者第三方库,如NPOI、EPPlus等。Open XML SDK是微软提供的一个免费工具包,可以直接操作Word、...

    C#导出Word

    提供的压缩包文件名“C#导出Word”很可能包含一个完整的示例项目,包括上述步骤的实现。通过查看源代码,你可以更深入地理解每个步骤的细节,以及如何组织代码以实现特定的功能,比如从数据库中读取数据并将其格式...

    C#导出WORD动态图表

    本话题主要探讨如何使用C#在ASP.NET中通过DocX库来操作Word文件,以实现动态生成Word文档中的图表功能。 首先,`DocX`是一个开源的C#库,允许开发者在不使用Microsoft Office Interop的情况下,对Microsoft Word ....

    C#导出word

    .NET 实现,导出word功能。 string outputFile = "测试-" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".docx"; EwfDocumentGenerator.GenerateFile("通知书.docx", outputFile, data, new ...

    C#导出Word插件

    本主题聚焦于“C#导出Word插件”,这涉及到如何利用C#编程来创建、操作或导出Word文档。在描述中提到的是通过两个插件协同工作来实现这一功能,虽然具体插件名称未提供,但我们可以讨论一些常见的解决方案和技术。 ...

    C# 导出word且下载到客户端

    引用Microsoft.Office.Interop.Word。将页面数据导出word,并下载到客户端.

    C# 导出word例子for free,09年的东西,不知道还有多少意义

    http://www.cnblogs.com/WormCanFly/archive/2009/09/17/1568668.html#2045847 09年的刚刚工作时用到的技术,仅供大家参考。今天发现还有人来下载,特地改成免费的。 内容源码

    c#简单的WORD导出

    总的来说,C#导出Word文档涉及到的知识点包括:使用Office Interop组件、操作Word对象模型(如Application、Document、Paragraph、Table等)、文本和格式的设置以及文件保存。通过这些基础操作,我们可以构建出复杂...

    Web(C#)导出Word文档

    下面我们将深入探讨如何在Web应用中使用C#导出Word文档。 首先,要理解C#中的Word文档操作主要有两种方式: 1. **Microsoft Office Interop**: 这是微软提供的一个接口,允许.NET应用程序与Office应用程序进行交互...

    c#模板导出word

    1. **模板引擎**:模板引擎是实现C#导出Word的核心工具,它允许开发者创建一个包含占位符的Word模板,这些占位符会在运行时被实际的数据替换。例如,NPOI、DocX、Aspose.Words等库提供了这样的功能。NPOI主要用于...

    C#导出word和excel实例讲解.rar

    总结,C#导出到Word和Excel涉及了对Microsoft Office Interop库的使用,以及可能的优化和替代方案。通过学习这些技术,开发者可以有效地自动化文档生成和数据处理任务,提高工作效率。在实际项目中,应根据具体需求...

    c#中导出到word

    在C#中,导出数据到Word文档是一项常见的任务,尤其在创建报告、报表或自动化文档生成时。这个过程涉及到使用Microsoft Office Interop库,这是一个允许.NET应用程序与Microsoft Office应用程序交互的API。以下是...

    C#导出Excel和Word

    2. 使用NPOI导出Word(示例代码主要针对Excel,但原理相似): - 引用NPOI库。 - 创建`XWPFDocument`对象。 - 创建`XWPFParagraph`和`XWPFRun`对象来添加文本。 - 使用`XWPFTable`创建表格,`XWPFTableRow`和`...

    c#导出word

    C_导出Word各种参数 将数据导出到word文档源代码

    C# MVC根据Word模板导出Word

    在C# MVC框架中,根据Word模板导出Word文档是一项常见的需求,特别是在企业级应用中,用于批量生成报告、合同等。本功能的实现主要涉及三个核心部分:模板处理、数据填充以及文件导出。以下将详细介绍这些部分,并...

    c#模板导出word文档

    在C#编程环境中,利用Aspose.Words库可以方便地实现根据预设模板导出Word文档的功能。Aspose.Words是一款强大的文档处理组件,它允许开发者在不依赖Microsoft Office的情况下,进行Word文档的创建、编辑、格式化以及...

Global site tag (gtag.js) - Google Analytics