.net c#使用Interop.Word生成word表格文档的方法

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

在.net c#中,使用Interop.Word生成word表格文档非常方便

创建Word应用程序对象
首先,我们需要创建Word应用程序对象,代码如下:

using Word = Microsoft.Office.Interop.Word;
Word.Application wordApp = new Word.Application();

创建文档对象
接下来,我们需要创建一个新的文档对象,代码如下:

Word.Document doc = wordApp.Documents.Add();

下面是完整的代码:

        public static bool ExportWord(DataTable tb, string filepath, bool isopen)
        {
            Word.Document mydoc = new Word.Document();
            if (tb.Rows.Count == 0) { return false; }
            Word.Table mytable;
            Word.Selection mysel;
            object myobj;
            //建立Word对象
            Word.Application word = new Word.Application();
            myobj = System.Reflection.Missing.Value;
            mydoc = word.Documents.Add(ref myobj, ref myobj, ref myobj, ref myobj);
            word.Visible = isopen;
            mydoc.Select();
            mysel = word.Selection;
            //将数据生成Word表格文件
            mytable = mydoc.Tables.Add(mysel.Range, tb.Rows.Count + 1, tb.Columns.Count, ref myobj, ref myobj);
            //设置列宽
            mytable.Columns.SetWidth(50, Word.WdRulerStyle.wdAdjustNone);
            //输出列标题数据
            for (int i = 0; i < tb.Columns.Count; i++)
            {
                mytable.Cell(1, i + 1).Range.InsertAfter(tb.Columns[i].ColumnName);
            }
            //输出控件中的记录
            for (int i = 0; i < tb.Rows.Count; i++)
            {
                for (int j = 0; j < tb.Columns.Count; j++)
                {
                    mytable.Cell(i + 2, j + 1).Range.InsertAfter(tb.Rows[i][j].ToString());
                }
            }
            if (!string.IsNullOrWhiteSpace(filepath)) { mydoc.SaveAs2(filepath); }
            return true;
        }

调用如下:

        private void zbtnadd_Click(object sender, EventArgs e)
        {
            List<DataInfo> list = new List<DataInfo>();
            for (int i = 0; i < 10; i++)
            {
                list.Add(new DataInfo() { name = "姓名" + i.ToString(), des = "描述" + i.ToString(), count = 1, time = DateTime.Now.AddDays(i) });
            }
            DataTable tb = ToWord.CreateTable<DataInfo>(list);
            ToWord.ExportWord(tb, "", true);
        }

        public class DataInfo
        {
            /// <summary>
            /// 名称
            /// </summary>
            public string name { get; set; }
            /// <summary>
            /// 描述
            /// </summary>
            public string des { get; set; }
            /// <summary>
            /// 数量
            /// </summary>
            public int count { get; set; }
            /// <summary>
            /// 时间
            /// </summary>
            public DateTime time { get; set; }
        }

如果不设置路径,也可以直接打开,方便打印,效果如下:

当然也可以填写路径,保存到指定的路径中.

附件:下载该文件资源,减少时间成本(增值服务)
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
File Source
.rar
355.98 KB
文件部分展示图(单击放大)
.net c#使用Interop.Word生成word表格文档的方法.net c#使用Interop.Word生成word表格文档的方法
留言
该资源可下载
File Source
.rar
355.98 KB
.net c#使用Interop.Word生成word表格文档的方法.net c#使用Interop.Word生成word表格文档的方法
最新结算
股权转让协议意向书模板
类型: .docx 金额: CNY 2.23¥ 状态: 待结算 详细>
股权转让协议意向书模板
类型: .docx 金额: CNY 0.28¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 2.39¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 0.3¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章