返回顶部
首页 > 资讯 > 精选 >C#如何动态生成Word文档并填充数据
  • 359
分享到

C#如何动态生成Word文档并填充数据

2023-06-18 00:06:31 359人浏览 泡泡鱼
摘要

这篇文章主要讲解了“C#如何动态生成Word文档并填充数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#如何动态生成Word文档并填充数据”吧!C#动态生成Word文档步骤之一:添加引用

这篇文章主要讲解了“C#如何动态生成Word文档并填充数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#如何动态生成Word文档并填充数据”吧!

C#动态生成Word文档步骤之一:添加引用->COM->Microsoft Word 11.0 Object Library

C#动态生成Word文档步骤之二:在.cs文件中添加 using  Word;

下面的例子中包括C#对Word文档的创建、插入表格、设置样式等操作: (例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法)

         public   string  CreateWordFile( string  CheckedInfo)           ... {              string  message  =   "" ;              try                ... {                 Object Nothing  =  System.Reflection.Missing.Value;                 Directory.CreateDirectory( " C:/CNSI " );   // 创建文件所在目录                   string  name  =   " CNSI_ "   +  DateTime.Now.ToShortString() + " .doc " ;                  object  filename  =   " C://CNSI// "   +  name;   // 文件保存路径                  // 创建Word文档                  Word.Application WordApp  =   new  Word.ApplicationClass();                 Word.Document WordDoc  =  WordApp.Documents.Add( ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing);                   // 添加页眉                  WordApp.ActiveWindow.View.Type  =  WdViewType.wdOutlineView;                 WordApp.ActiveWindow.View.SeekView  =  WdSeekView.wdSeekPrimaryHeader;                 WordApp.ActiveWindow.ActivePane.Selection.InsertAfter( " [页眉内容] " );                 WordApp.Selection.ParagraphFORMat.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphRight; // 设置右对齐                  WordApp.ActiveWindow.View.SeekView  =  WdSeekView.wdSeekMainDocument; // 跳出页眉设置                   WordApp.Selection.ParagraphFormat.LineSpacing  =  15f; // 设置文档的行间距                   // 移动焦点并换行                   object  count  =   14 ;                  object  WdLine  =  Word.WdUnits.wdLine; // 换一行;                   WordApp.Selection.MoveDown( ref  WdLine,  ref  count,  ref  Nothing); // 移动焦点                   WordApp.Selection.TypeParagraph(); // 插入段落                    // 文档中创建表格                   Word.Table newTable  =  WordDoc.Tables.Add(WordApp.Selection.Range,  12 ,  3 ,  ref  Nothing,  ref  Nothing);                   // 设置表格样式                   newTable.Borders.OutsideLineStyle  =  Word.WdLineStyle.wdLineStyleThickThinLargeGap;                  newTable.Borders.InsideLineStyle  =  Word.WdLineStyle.wdLineStyleSingle;                  newTable.Columns[ 1 ].Width  =  100f;                  newTable.Columns[ 2 ].Width  =  220f;                  newTable.Columns[ 3 ].Width  =  105f;                    // 填充表格内容                   newTable.Cell( 1 ,  1 ).Range.Text  =   " 产品详细信息表 " ;                  newTable.Cell( 1 ,  1 ).Range.Bold  =   2 ; // 设置单元格中字体为粗体                   // 合并单元格                   newTable.Cell( 1 ,  1 ).Merge(newTable.Cell( 1 ,  3 ));                  WordApp.Selection.Cells.VerticalAlignment  =  Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter; // 垂直居中                   WordApp.Selection.ParagraphFormat.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphCenter; // 水平居中                                            // 填充表格内容                   newTable.Cell( 2 ,  1 ).Range.Text  =   " 产品基本信息 " ;                  newTable.Cell( 2 ,  1 ).Range.Font.Color  =  Word.WdColor.wdColorDarkBlue; // 设置单元格内字体颜色                   // 合并单元格                   newTable.Cell( 2 ,  1 ).Merge(newTable.Cell( 2 ,  3 ));                  WordApp.Selection.Cells.VerticalAlignment  =  Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;                     // 填充表格内容                    newTable.Cell( 3 ,  1 ).Range.Text  =   " 品牌名称: " ;                   newTable.Cell( 3 ,  2 ).Range.Text  =  BrandName;                    // 纵向合并单元格                    newTable.Cell( 3 ,  3 ).Select(); // 选中一行                     object  moveUnit  =  Word.WdUnits.wdLine;                    object  moveCount  =   5 ;                    object  moveExtend  =  Word.WdMovementType.wdExtend;                    WordApp.Selection.MoveDown( ref  moveUnit,  ref  moveCount,  ref  moveExtend);                    WordApp.Selection.Cells.Merge();                     // 插入图片                      string  FileName  =  Picture; // 图片所在路径                      object  LinkToFile  =   false ;                     object  SaveWithDocument  =   true ;                     object  Anchor  =  WordDoc.Application.Selection.Range;                    WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName,  ref  LinkToFile,  ref  SaveWithDocument,  ref  Anchor);                     WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].Width  =  100f; // 图片宽度                      WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].Height  =  100f; // 图片高度                      // 将图片设置为四周环绕型                      Word.Shape s  =  WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].ConvertToShape();                     s.WrapFormat.Type  =  Word.WdWrapType.wdWrapSquare;                                              newTable.Cell( 12 ,  1 ).Range.Text  =   " 产品特殊属性 " ;                     newTable.Cell( 12 ,  1 ).Merge(newTable.Cell( 12 ,  3 ));                       // 在表格中增加行                       WordDoc.Content.Tables[ 1 ].Rows.Add( ref  Nothing);                                             WordDoc.Paragraphs.Last.Range.Text  =   " 文档创建时间: "   +  DateTime.Now.ToString(); // “落款”                       WordDoc.Paragraphs.Last.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphRight;                       // 文件保存                      WordDoc.SaveAs( ref  filename,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing);                     WordDoc.Close( ref  Nothing,  ref  Nothing,  ref  Nothing);                     WordApp.Quit( ref  Nothing,  ref  Nothing,  ref  Nothing);                     message = name + " 文档生成成功,以保存到C:CNSI下 " ;             }               catch                ... {                 message  =   " 文件导出异常! " ;             }               return  message;         }

这样,就实现了 C#动态生成Word文档。

感谢各位的阅读,以上就是“C#如何动态生成Word文档并填充数据”的内容了,经过本文的学习后,相信大家对C#如何动态生成Word文档并填充数据这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: C#如何动态生成Word文档并填充数据

本文链接: https://lsjlt.com/news/294575.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#如何动态生成Word文档并填充数据
    这篇文章主要讲解了“C#如何动态生成Word文档并填充数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#如何动态生成Word文档并填充数据”吧!C#动态生成Word文档步骤之一:添加引用...
    99+
    2023-06-18
  • Java根据word模板生成word文档并转成PDF文件
    1. 处理word模板 1.1 定义word模版 1.2 定义完我们的模板之后,我们要将文档保存为xml的格式 定义完我们的模板之后,我们要将文档保存为xml的格式 1.3 xml格式化 ...
    99+
    2023-09-09
    java word pdf chart
  • 如何利用node生成word文档
    这篇“如何利用node生成word文档”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何利...
    99+
    2024-04-02
  • JAVA利用Freemarker模版动态生成并导出word文档(全网最详细)
    文章目录 一、文章背景二、实现步骤1、需要的环境2、创建模板3、书写java类4、测试 三、freemarker技术点 一、文章背景 公司的某个需求,需要根据接口的信息生成一...
    99+
    2023-09-09
    java word 开发语言
  • Java如何实现读取txt文件内容并生成Word文档
    目录导入Jar包1. Maven仓库下载导入2. 手动导入读取txt生成Word注意事项本文将以Java程序代码为例介绍如何读取txt文件中的内容,生成Word文档。在编辑代码前,可...
    99+
    2024-04-02
  • Python自动化之批量生成含指定数据的word文档
    目录一、需求说明二、开始动手动脑三、总结一、需求说明 在平时工作当中,经常需要处理文件,特别是Word,处理Word时会遇一类比较常见的场景:文档中大部分文字固定不变,小部分内容需要...
    99+
    2024-04-02
  • java如何实现自动生成数据库设计文档
    目录前言实现步骤main方法类全部代码表qrtz_blob_triggers表qrtz_calendars表qrtz_cron_triggers前言 以前我们还需要手写数据库设计文档...
    99+
    2024-04-02
  • Python怎么批量生成含指定数据的word文档
    这篇文章将为大家详细讲解有关Python怎么批量生成含指定数据的word文档,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、需求说明在平时工作当中,经常需要处理文件,特别是Word,处理Word时会遇一...
    99+
    2023-06-21
  • SpringBoot如何自动生成API文档详解
    前言 在做项目的时候,如果项目是前后分离的,后端一定要和前端或者是移动端对接接口,那么问题来了,接口是不是要自己写给他们看,一般的会采用Excel或者Word来写,高级一点的就采用A...
    99+
    2024-04-02
  • 使用java怎么自动生成数据库文档
    今天就跟大家聊聊有关使用java怎么自动生成数据库文档,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、引入pom.xml依赖<dependencies> &n...
    99+
    2023-06-15
  • python如何设置Pyplot的动态rc参数、绘图的填充
    今天小编给大家分享一下python如何设置Pyplot的动态rc参数、绘图的填充的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-07-02
  • log4j如何根据变量动态生成文件名
    目录根据变量动态生成文件名简单的log4j设置简单实例log4j动态文件名一、按照用户ID来生成log二、在batch程序中,通过一个设定来实现每个batch三、在batch程序中,...
    99+
    2024-04-02
  • C++ 函数调用文档生成:参数传递和返回值的自动生成
    通过利用c++++反射机制,本文提供了一种自动化生成c++函数调用文档的解决方案,该解决方案可以从函数签名提取参数传递和返回值信息,并生成详细的markdown文档,其中包含函数参数(按...
    99+
    2024-05-03
    c++ 函数调用
  • python如何动态生成函数名
    在python中动态生成函数名,具体方法如下:funcs = {'CONNECT': connect,'RAWFEED': rawfeed,'RAWCONFIG' : rawconfig,'TESTFEED': testfeed}funcs...
    99+
    2024-04-02
  • 解析如何自动化生成vue组件文档
    目录一、现状二、社区解决方案2.1、业务梳理三、技术方案3.1、Vue文件解析3.2、信息提取3.2.1、可直接获取的信息3.2.2、需要约定的信息四、总结五、展望一、现状 Vue框...
    99+
    2024-04-02
  • 学习Go语言文档中的reflect.MakeFunc函数实现动态函数生成
    学习Go语言文档中的reflect.MakeFunc函数实现动态函数生成在Go语言中,reflect包提供了一系列的函数和类型,用于在运行时进行类型信息的解析和操作。其中,reflect.MakeFunc函数是一个非常强大的函数,可以用来在...
    99+
    2023-11-03
    Go语言 reflect MakeFunc
  • Java 如何将表格数据导入word文档中
    Java 表格数据导入word文档中 个人觉得这个功能实在搞笑,没什么意义,没办法提了需求就要实现,(太好说话了把我) 我的实现是再word中生成一个与 excel行,列 一样的一个...
    99+
    2024-04-02
  • 如何根据动态SQL代码自动生成DTO
    当前的状况一般做数据库相关开发, 除非学习, 否则很少有人愿意直接使用JDBC。本来Java代码就比较啰嗦了,而直接用JDBC写代码之啰嗦简直有些令人发狂!所以在实际开发过程中,我们通常都会使用一些框架/库...
    99+
    2024-04-02
  • 如何使用工具生成 Golang 函数文档?
    命令 godoc -markdown=index.md 可生成 go 函数文档,通过打开生成的文件 index.md 查看文档。具体步骤为:1. 保存 go 文件;2. 运行命令 god...
    99+
    2024-05-06
    自动化 golang
  • oracle数据库自动生成数据库表结构文档(亲测有效)
    1 2 3 import java.awt.Color; 4 import java.io.FileOutputStream; 5 import java.sql.Connection; 6 import java....
    99+
    2018-06-11
    oracle数据库自动生成数据库表结构文档(亲测有效)
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作