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常用操作类

public void PrintOut() { object copies = "1"; object ...
  • hjd2357
  • hjd2357
  • 2011年05月09日 13:02
  • 278

面向新手 学习c#的东东 打好基础很重要!

下图是我画的一张视频教程观看顺序流程图,给大家做个参考,推荐的学习内容和学习顺序(除了这里列出的内容,要走向高手之路肯定还有更多技术需要学习,这里只是对于初学者列出的主干学习内容,并不是全部):  ...

C#实现下载功能(好东东就应该保存学习)

using System; using System.Collections.Generic; using System.Linq; using System.Web; using...

Matlab中一些常用的东东

基本数值计算 1. 变量:分为数值变量和字符变量 2. 常量:计算机中不变的量。如i、j、pi、NaN(不确定)、Inf(无穷大) 3. 字符变量:将字符串作为变量。有三种方法表示:...

如何在用户停止操作一段时间后隐藏界面上的某些东东,比如遥控器按出的menu,一段时间不按遥控器就让menu消失

以前同事教我写过一个,后来在想的时候就想不起来了,脑袋不好使,逻辑思维又不强,像我这种只能把学到的都记下来,以后要用的时候在去找。   好了,说正题,遇到过这方面的问题。比如遥控器上面,我按menu...

关于ArrayList以及简单哈希表中的一些常用的东东

(1),ArrayList       /** * ArrayList 的对象,在不指明容量大小的情况下默认的是16,,而且在操作的过程中,当列表中的元素达到最大容量时,列表...

跨页传值的常用方法 东东

  • 2009年08月15日 11:42
  • 5.06MB
  • 下载

C#操作office之word文本替换,只能实现替换其中一个,可以替换超长文本

C#操作office之word文本替换,只能实现替换其中一个,可以替换超长文本 由于word文本替换长度不能超过255,所以当替换文本超过255就将它分段替换 首先引用相关组件: using...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#操作WORD常用东东
举报原因:
原因补充:

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