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

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文档的创建、插入表格、设置样式等操作实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • C#添加、读取Word脚注尾注的方法

    本文实例为大家分享了C#添加读取Word脚注尾注的具体代码,供大家参考,具体内容如下 脚注和尾注是对文本的补充说明.脚注一般位于页面的底部,可以作为文档某处内容的注释:尾注一般位于文档的末尾,列出引文 的出处等.在本示例中将介绍如何来添加或删除Word脚注. 工具使用: Free Spire. Doc for .NET(免费版) 第一步:dll引用 第二步:添加Word脚注.尾注 [C#] using Spire.Doc; using Spire.Doc.Documents; using Spi

  • 比较全的一个C#操作word文档示例

    最近两天研究了一下如何使用VS2008(C#语言)输出Word文档.以下是几点总结: 1.非常简单. 2.开发及运行环境要求.操作系统为:WindowsXP(安装.net framework2.0)/Vista/Win7:在操作系统必须安装Word2003完全安装版.这里必须要强调是Word2003完全安装版,因为软件开发及运行都需要一个com组件:Microsoft word 11.0 Object Library.如果不是Word2003完全安装版,可以下载这个com组件,并手动的安装这个c

  • C# 向Word中设置/更改文本方向的方法(两种)

    一般情况下在Word中输入的文字都是横向的,今天给大家分享两种方法来设置/更改一个section内的所有文本的方向及部分文本的方向,有兴趣的朋友可以试下. 首先,从https://visualstudiogallery.msdn.microsoft.com/d3a38f74-3490-42da-bdb0-37fa5acebc36下载免费版.NET Word类库并安装,然后创建一个C# 控制台应用程序,添加引用及命名空间并参考以下步骤. 步骤1:创建一个新的Document对象并加载Word文档.

  • C#实现通过模板自动创建Word文档的方法

    本文实例讲述了C#实现通过模板自动创建Word文档的方法,是非常实用的技巧.分享给大家供大家参考.具体实现方法如下: 引言:前段时间有项目要用c#生成Word格式的计算报告,通过网络查找到很多内容,但是都很凌乱,于是自己决定将具体的步骤总结整理出来,以便于更好的交流和以后相似问题可以迅速的解决! 现通过具体的示例演示具体的步骤:   第一步,制作模板   1.新建一个文档,设置文档内容. 2.在相应位置插入书签:将鼠标定位到要插入书签的位置,点击"插入">"书签&quo

  • C#设置Word文档背景的三种方法(纯色/渐变/图片背景)

    Word是我们日常生活.学习和工作中必不可少的文档处理工具.精致美观的文档能给人带来阅读时视觉上的美感.在本篇文章中,将介绍如何使用组件Free Spire.Doc for .NET(社区版)给Word设置文档背景.下面的示例中,给Word添加背景分为三种情况来讲述,即添加纯色背景,渐变色背景和图片背景. 工具使用:下载安装控件Free Spire.Doc后,在项目程序中添加Spire.Doc.dll即可(该dll可在安装文件下Bin文件夹中获取) 一.添加纯色背景 using Spire.Do

  • C# Word 类库的深入理解

    代码如下所示: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Text;using Microsoft.Office.Interop.Word;using System.IO;using System.Web;using System.Data;using System.Reflection;using Microsoft.Win32;using System.Text.RegularExpressio

  • C#如何更改Word的语言设置

    一般在创建或者打开一个Word文档时,如果没有进行过特殊设置的话,系统默认的输入语言的是英语输入,但是为适应不同的办公环境,我们其实是需要对文字嵌入的语言进行切换的,因此,本文将介绍如何使用免费版组件Free Spire.Doc for .NET来实现Word语言输入.另外,针对这款组件的多种Word操作功能,如,设置文档属性.文档视图模式等,本文中也将作进一步演示演示. 代码操作前准备 安装Spire.Doc for .NET之后,添加引用Spire.Doc.dll文件到项目程序集,同时添加相

  • C# 利用Aspose.Words.dll将 Word 转成PDF

    只要把aspose.words.dll 在bin中添加引用即可. 复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using Aspose.Words;using Aspose.Words.Saving;usi

  • asp.net(c#)下读取word文档的方法小结

    第一种方法: 复制代码 代码如下: Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "Application/msword"; string s=Server.MapPath("C#语言参考.doc"); Response.WriteFile("C#语言参考.doc"); Response.Write(s); Response.Flush(); Re

  • C# WORD操作实现代码

    1.先通过程序生成报表样式的HTML页面,然后修改HTML页面的后缀名为DOC. 2.定制WORD文档的模板文件,在C#中操作WORD模板,生成新的WORD文档. 第一方案简单,只需要改动文件的扩展名就行了,但是也存在了一些问题,譬如生成的WORD文档样式的丢失.这样对于客户来说可能是一个无法通过的方案.第二方案比较复杂,需要调用OFFICE的WORD组件通过C#来操作WORD,进而生成WORD.此方法类似于我们在c#中的后台拼接数据.虽然麻烦,但是能够灵活定制,只不过是操作WORD对象而已.

随机推荐