C#操作WORD常用东东

原创 2011年01月20日 16:58:00

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using Microsoft.Office.Interop.Word;

namespace WordTest
{
  class CreateAndReadWord
  {
  //下面的例子中包括C#对Word文档的创建、插入表格、设置样式等操作: 
   
  public string CreateWordFile(string CheckedInfo)
  {
  string message;
  string sPicturePath = @"C:/Documents and Settings/All Users/Documents/My Pictures/示例图片/Blue hills.jpg";
  try
  {
  Object Nothing = System.Reflection.Missing.Value;
  //创建文件所在目录 
  Directory.CreateDirectory(@"D:/work/20090407/WordTest/Test");
  string name = "Test" + DateTime.Now.ToShortDateString() + ".doc";
  //文件保存路径 
  object filename = @"D:/work/20090407/WordTest/Test" + name; 
  //创建Word文档 
  Application WordApp = new ApplicationClass();
  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 = WdParagraphAlignment.wdAlignParagraphRight; //设置右对齐 
  WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument; //跳出页眉设置 
  WordApp.Selection.ParagraphFormat.LineSpacing = 15f; //设置文档的行间距 

  //移动焦点并换行 
  object count = 14;
  object WdLine = WdUnits.wdLine; //换一行; 
  WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing); //移动焦点 
  WordApp.Selection.TypeParagraph(); //插入段落 

  //文档中创建表格 
  Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, 12, 3, ref Nothing, ref Nothing);
  //设置表格样式 
  newTable.Borders.OutsideLineStyle = WdLineStyle.wdLineStyleThickThinLargeGap;
  newTable.Borders.InsideLineStyle = 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 = WdCellVerticalAlignment.wdCellAlignVerticalCenter; //垂直居中 
  WordApp.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; //水平居中 

  //填充表格内容 
  newTable.Cell(2, 1).Range.Text = "产品基本信息";
  newTable.Cell(2, 1).Range.Font.Color = WdColor.wdColorDarkBlue; //设置单元格内字体颜色 
  //合并单元格 
  newTable.Cell(2, 1).Merge(newTable.Cell(2, 3));
  WordApp.Selection.Cells.VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;

  //填充表格内容 
  newTable.Cell(3, 1).Range.Text = "品牌名称:";

  newTable.Cell(3, 2).Range.Text = "BrandName";
  //纵向合并单元格 
  newTable.Cell(3, 3).Select(); //选中一行 
  object moveUnit = WdUnits.wdLine;
  object moveCount = 5;
  object moveExtend = WdMovementType.wdExtend;
  WordApp.Selection.MoveDown(ref moveUnit, ref moveCount, ref moveExtend);
  WordApp.Selection.Cells.Merge();
  //插入图片 
  string FileName = sPicturePath; //图片所在路径 
  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; //图片高度 
  //将图片设置为四周环绕型 
  Shape s = WordDoc.Application.ActiveDocument.InlineShapes[1].ConvertToShape();
  s.WrapFormat.Type = 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; //“落款” 
  WordDoc.Paragraphs.Last.Alignment = 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的超详细总结

创建Word; 插入文字,选择文字,编辑文字的字号、粗细、颜色、下划线等; 设置段落的首行缩进、行距; 设置页面页边距和纸张大小; 设置页眉、页码; 插入图片,设置图片宽...
  • baishijiangbian
  • baishijiangbian
  • 2017年04月19日 10:19
  • 1349

用C#操作word的一些体会

前几天,因为学期快要结束了,而老师要求的作业都应要上交。由于这门课程是关于电子病历的,内容就是用word 做模板,医生在模板中输入病人的病症,输入完毕后就会把输入的内容存放到数据库。而不是将整个wor...
  • hora_bird
  • hora_bird
  • 2007年07月02日 13:56
  • 3841

C#操作word的一些函数

using System; using System.Collections.Generic; using System.Text; using System.IO; using Micros...
  • p656456564545
  • p656456564545
  • 2015年09月25日 21:40
  • 807

c# 操作Word总结

Word对象模型 (.Net Perspective)   五大对象 Application :代表Microsoft Word应用程序本身   是Document和Selection的基类。通...
  • xu_life
  • xu_life
  • 2016年09月23日 10:26
  • 2569

分享一个C#操作Word完整源码

using System; using System.Collections.Generic; using System.Linq; using System.Web; using Word = Mi...
  • skyering
  • skyering
  • 2013年01月17日 18:34
  • 2321

使用C#操作word模板

前段时间在做项目时,系统中有一个功能模块,内容是在线填写资料并保存成word文档,当时在网上搜寻了很久,结合自己的一些实践,特定整理成一篇技术博。 首先,我们先制作完一份word模板文件。 ...
  • biyusr
  • biyusr
  • 2017年06月30日 15:02
  • 350

C#操作Word (1)Word对象模型

Word对象模型  (.Net Perspective) 本文主要针对在Visual Studio中使用C# 开发关于Word的应用程序 来源:Understandingthe Word Obje...
  • ruby97
  • ruby97
  • 2012年03月29日 14:09
  • 19575

C#使用NPOI进行word相关操作和导出(1)

1.首先进行XWPFDocument类的实例化,该类的实例对应一个word文档   XWPFDocument MyDoc = new XWPFDocument();      2.设置页面的...
  • wangwei6125
  • wangwei6125
  • 2017年08月02日 21:06
  • 1597

C#操作Word书签模板

C#操作Word书签模板 一制作模板   1 新建一个文档,设置文档内容。对于循环的部分,建议放到表格内,这样容易定位、选择、复制、粘贴。 2 将鼠标定位到要插入书签的位置,从菜单上,“插入”...
  • yiyihuazi
  • yiyihuazi
  • 2017年04月18日 11:30
  • 522

C# 操作word 类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst...
  • zhgyuhui
  • zhgyuhui
  • 2012年08月23日 13:59
  • 655
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#操作WORD常用东东
举报原因:
原因补充:

(最多只允许输入30个字)