您的位置:首页 > 编程语言 > C#

C#读取Word表格中的数据 (转)

2009-07-08 08:33 477 查看
1.关于 Interop.Word类库 (本文提到关于word链接库引用无法使用的问题,很实用)

今天练习C#操作Word文档,首先要引入类库(Microsoft.Office.Interop.Word ),可是在我机器上无法引用,于是找其原因是没有安装“Office
2003 主 Interop 程序集”.

安装方法(网上介绍的):运行office2003安装程序,选择“添加或删除组件”,->勾选“高级自定义应用程序”,->展开特定于应用程序的节点。要获取
Microsoft Office word 2003 PIA,请展开 Microsoft Office word 节点并选择
.NET Programmability Support(.net可编程支持)。单击 .NET
Programmability Support (.net可编程支持)
旁边的下拉箭头以选择更新选项,并选取 Run from
My Computer(从本机运行)。然后点击“更新”按钮。完成!


可是问题来了:我下载的这个office2003(盗版)安装程序打开后没有.NET
Programmability Support (.net可编程支持)这个选项


using Word;

运行程序通过,搞定.

【摘自】 http://tmsoft.lsxy.com/trackback.php?tbID=334&extra=2aa67d
周老师科研站

前提:

导入COM库:Microsoft
word 11.0 Object
Library.

引用里面就增加了:

创建新Word

object oMissing = System.Reflection.Missing.Value;

Word._Application oWord;

Word._Document oDoc;

oWord = new Word.Application();

oWord.Visible = true;

oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,

ref oMissing, ref oMissing);

打开文档:

object oMissing = System.Reflection.Missing.Value;

Word._Application oWord;

Word._Document oDoc;

oWord = new Word.Application();

oWord.Visible = true;

object fileName = @"E:CCCXCXXTestDoc.doc";

oDoc = oWord.Documents.Open(ref fileName,

ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,

ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,

ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);

导入模板

object oMissing = System.Reflection.Missing.Value;

Word._Application oWord;

Word._Document oDoc;

oWord = new Word.Application();

oWord.Visible = true;

object fileName = @"E:XXXCCXTest.doc";

oDoc = oWord.Documents.Add(ref fileName, ref oMissing,

ref oMissing, ref oMissing);

.添加新表

object oMissing = System.Reflection.Missing.Value;

Word._Application oWord;

Word._Document oDoc;

oWord = new Word.Application();

oWord.Visible = true;

oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,

ref oMissing, ref oMissing);

object start = 0;

object end = 0;

Word.Range tableLocation = oDoc.Range(ref start, ref end);

oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);

.表插入行

object oMissing = System.Reflection.Missing.Value;

Word._Application oWord;

Word._Document oDoc;

oWord = new Word.Application();

oWord.Visible = true;

oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,

ref oMissing, ref oMissing);

object start = 0;

object end = 0;

Word.Range tableLocation = oDoc.Range(ref start, ref end);

oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);

Word.Table newTable = oDoc.Tables[1];

object beforeRow = newTable.Rows[1];

newTable.Rows.Add(ref beforeRow);

.单元格合并

object oMissing = System.Reflection.Missing.Value;

Word._Application oWord;

Word._Document oDoc;

oWord = new Word.Application();

oWord.Visible = true;

oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,

ref oMissing, ref oMissing);

object start = 0;

object end = 0;

Word.Range tableLocation = oDoc.Range(ref start, ref end);

oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);

Word.Table newTable = oDoc.Tables[1];

object beforeRow = newTable.Rows[1];

newTable.Rows.Add(ref beforeRow);

Word.Cell cell = newTable.Cell(1, 1);

cell.Merge(newTable.Cell(1, 2));

.单元格分离

object oMissing = System.Reflection.Missing.Value;

Word._Application oWord;

Word._Document oDoc;

oWord = new Word.Application();

oWord.Visible = true;

oDoc = oWord.Documents.Add( oMissing, ref oMissing);

object start = 0;

object end = 0;

Word.Range tableLocation = oDoc.Range(ref start, ref end);

oDoc.Tables.Add(tableLocation, 3, 4, ref oMissing, ref oMissing);

Word.Table newTable = oDoc.Tables[1];

object beforeRow = newTable.Rows[1];

newTable.Rows.Add(ref beforeRow);

Word.Cell cell = newTable.Cell(1, 1);

cell.Merge(newTable.Cell(1, 2));

object Rownum = 2;

object Columnnum = 2;

cell.Split(ref Rownum, ref Columnnum);

通过段落控制插入

object oMissing = System.Reflection.Missing.Value;

//Start Word and create a new document.

Word._Application oWord;

Word._Document oDoc;

oWord = new Word.Application();

oWord.Visible = true;

oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,

ref oMissing, ref oMissing);

//Insert a paragraph at the beginning of the document.

Word.Paragraph oPara1;

oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing);

oPara1.Range.Text = "Heading 1";

oPara1.Range.Font.Bold = 1;

oPara1.Format.SpaceAfter = 24; //24 pt spacing after paragraph.

oPara1.Range.InsertParagraphAfter();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: