服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - C#对Word文档的创建、插入表格、设置样式等操作实例

C#对Word文档的创建、插入表格、设置样式等操作实例

2022-02-23 13:41罗氏钱币 C#

今天小编就为大家分享一篇C#对Word文档的创建、插入表格、设置样式等操作实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

using Word;

下面的例子中包括C#对Word文档的创建、插入表格、设置样式等操作:

(例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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文档的创建、插入表格、设置样式等操作实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/ll2008ok/article/details/62045391

延伸 · 阅读

精彩推荐
  • C#浅谈C# winForm 窗体闪烁的问题

    浅谈C# winForm 窗体闪烁的问题

    下面小编就为大家带来一篇浅谈C# winForm 窗体闪烁的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    C#教程网7962021-12-21
  • C#C#直线的最小二乘法线性回归运算实例

    C#直线的最小二乘法线性回归运算实例

    这篇文章主要介绍了C#直线的最小二乘法线性回归运算方法,实例分析了给定一组点,用最小二乘法进行线性回归运算的实现技巧,具有一定参考借鉴价值,需要...

    北风其凉8912021-10-18
  • C#c#学习之30分钟学会XAML

    c#学习之30分钟学会XAML

    一个界面程序的核心,无疑就是界面和后台代码,而xaml就是微软为构建应用程序界面而创建的一种描述性语言,也就是说,这东西是搞界面的...

    C#教程网8812021-12-10
  • C#C#基础之泛型

    C#基础之泛型

    泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能。接下来通过本文给大家介绍c#基础之泛型,感兴趣的朋友一起学习吧...

    方小白7732021-12-03
  • C#C#实现的文件操作封装类完整实例【删除,移动,复制,重命名】

    C#实现的文件操作封装类完整实例【删除,移动,复制,重命名】

    这篇文章主要介绍了C#实现的文件操作封装类,结合完整实例形式分析了C#封装文件的删除,移动,复制,重命名等操作相关实现技巧,需要的朋友可以参考下...

    Rising_Sun3892021-12-28
  • C#聊一聊C#接口问题 新手速来围观

    聊一聊C#接口问题 新手速来围观

    聊一聊C#接口问题,新手速来围观,一个通俗易懂的例子帮助大家更好的理解C#接口问题,感兴趣的小伙伴们可以参考一下...

    zenkey7072021-12-03
  • C#Unity3D UGUI实现缩放循环拖动卡牌展示效果

    Unity3D UGUI实现缩放循环拖动卡牌展示效果

    这篇文章主要为大家详细介绍了Unity3D UGUI实现缩放循环拖动展示卡牌效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参...

    诗远3662022-03-11
  • C#C# 后台处理图片的几种方法

    C# 后台处理图片的几种方法

    本篇文章主要介绍了C# 后台处理图片的几种方法,非常具有实用价值,需要的朋友可以参考下。...

    IT小伙儿10162021-12-08