300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > c#实现word创建表格合并单元格操作功能

c#实现word创建表格合并单元格操作功能

时间:2020-05-30 11:11:34

相关推荐

c#实现word创建表格合并单元格操作功能

作者:Hd资源网来源:本站整理发布时间:-04-19 10:43:55

word操作,包括打开word文档,创建表格,合并单元格,保存退出

WordOperator

using System;

using System.Web;

using Microsoft.Office.Interop.Word;

namespace CustomFileAccess

{

public class WordOperator

{

public void CreateWord()

{

Microsoft.Office.Interop.Word.Application wordApp = new Application();

Microsoft.Office.Interop.Word.Document wordDocument = new Document();

Microsoft.Office.Interop.Word.Table wordTable;

Microsoft.Office.Interop.Word.Table wordTableCopy;

object myNull = System.Reflection.Missing.Value;

object strPath = HttpContext.Current.Server.MapPath(@"WordTemplete\MyWordTemplete.doc");

object styleName = "Table Grid 8";

try

{

wordDocument = wordApp.Documents.Open(ref strPath, ref myNull, ref myNull, ref myNull,

ref myNull, ref myNull, ref myNull, ref myNull, ref myNull, ref myNull, ref myNull, ref myNull,

ref myNull, ref myNull, ref myNull, ref myNull);

object start = 0;

object end = 0;

Microsoft.Office.Interop.Word.Range wordRange = wordDocument.Range(ref start, ref end);

wordTable = wordDocument.Tables.Add(wordRange, 3, 13, ref myNull, ref myNull);

wordTable.Borders.OutsideColor = WdColor.wdColorAutomatic;

wordTable.Borders.OutsideColorIndex = WdColorIndex.wdAuto;

wordTable.Borders.OutsideLineStyle = WdLineStyle.wdLineStyleSingle;

wordTable.Borders.OutsideLineWidth = WdLineWidth.wdLineWidth050pt;

wordTable.Borders.InsideColor = WdColor.wdColorAutomatic;

wordTable.Borders.InsideColorIndex = WdColorIndex.wdAuto;

wordTable.Borders.InsideLineStyle = WdLineStyle.wdLineStyleSingle;

wordTable.Borders.InsideLineWidth = WdLineWidth.wdLineWidth050pt;

wordDocument.Tables[1].Cell(1, 1).Merge(wordDocument.Tables[1].Cell(2, 1));

wordDocument.Tables[1].Cell(1, 1).Range.Text = "cell 1, 1";

wordDocument.Tables[1].Cell(2, 2).Range.Text = "cell 2, 2";

wordDocument.Tables[1].Select();

wordApp.Selection.Copy();

wordDocument.Tables[1].Cell(1, 2).Range.Text = "The First Table";

object myunit = Microsoft.Office.Interop.Word.WdUnits.wdStory;

wordApp.Selection.EndKey(ref myunit, ref myNull);

wordApp.Selection.TypeParagraph();

wordApp.Selection.Paste();

wordDocument.Tables[2].Cell(1, 1).Range.Text = "The Second Table";

wordDocument.Save();

}

catch

{

wordDocument.Close(ref myNull, ref myNull, ref myNull);

wordApp.Quit(ref myNull, ref myNull, ref myNull);

if (wordDocument != null)

{

System.Runtime.InteropServices.Marshal.ReleaseComObject(wordDocument);

wordDocument = null;

}

if (wordApp != null)

{

System.Runtime.InteropServices.Marshal.ReleaseComObject(wordApp);

wordApp = null;

}

GC.Collect();

throw new Exception("文档生成失败!");

}

finally

{

wordDocument.Close(ref myNull, ref myNull, ref myNull);

wordApp.Quit(ref myNull, ref myNull, ref myNull);

}

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。