您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > c#操作word表格
最近由于工作需要,做了一些关于c#操作word文档方面的工作.主要是对word中表格的操作,以下是部分代码,关于操作不规则表格的.usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlControls;usingSystem.Configuration;usingSystem.IO;usingSystem.Reflection;usingSystem.Runtime.InteropServices;usingSystem.Threading;publicvoidMakeMyTable(DataTableDT,stringstrFilePath){stringstrEnd=this.txtEnd.Text.Trim().ToString();stringstrStart=this.txtStart.Text.Trim().ToString();//生成文档分页中的起始和终止页stringstrSign=(+strStart+-+strEnd+);//杀掉所有word进程以保证速度//KillWordProcess();objectNothing=System.Reflection.Missing.Value;objectmissing=System.Reflection.Missing.Value;objectfilename=strFilePath;Word.ApplicationwordApp=newWord.ApplicationClass();Word.DocumentwordDoc=wordApp.Documents.Add(refNothing,refNothing,refNothing,refNothing);try{//生成过程中屏蔽返回按扭,不允许中途停止Button2.Enabled=false;#region生成文档//设置文档宽度wordApp.Selection.PageSetup.LeftMargin=wordApp.CentimetersToPoints(float.Parse(2));wordApp.ActiveWindow.ActivePane.HorizontalPercentScrolled=11;wordApp.Selection.PageSetup.RightMargin=wordApp.CentimetersToPoints(float.Parse(2));Objectstart=Type.Missing;Objectend=Type.Missing;Objectunit=Type.Missing;Objectcount=Type.Missing;wordDoc.Range(refstart,refend).Delete(refunit,refcount);objectrng=Type.Missing;stringstrInfo=this.txtNameCh.Text.ToString()+明细表+strSign+\r\n;start=0;end=0;wordDoc.Range(refstart,refend).InsertBefore(strInfo);wordDoc.Range(refstart,refend).Font.Name=Verdana;wordDoc.Range(refstart,refend).Font.Size=20;wordDoc.Range(refstart,refend).ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphCenter;start=8;end=strInfo.Length;wordDoc.Range(refstart,refend).InsertParagraphAfter();//插入回车if(DT.Rows.Count0){//存在数据项//添加一个表格objectmissingValue=Type.Missing;objectlocation=strInfo.Length;//注:若location超过已有字符的长度将会出错。一定要比明细表串多一个字符Word.Rangerng2=wordDoc.Range(reflocation,reflocation);wordDoc.Tables.Add(rng2,13,6,refmissingValue,refmissingValue);wordDoc.Tables.Item(1).Rows.HeightRule=Word.WdRowHeightRule.wdRowHeightAtLeast;wordDoc.Tables.Item(1).Rows.Height=wordApp.CentimetersToPoints(float.Parse(0.8));wordDoc.Tables.Item(1).Range.Font.Size=10;wordDoc.Tables.Item(1).Range.Font.Name=宋体;wordDoc.Tables.Item(1).Range.ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphCenter;wordDoc.Tables.Item(1).Range.Cells.VerticalAlignment=Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//设置表格样式wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderLeft).LineStyle=Word.WdLineStyle.wdLineStyleSingle;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderLeft).LineWidth=Word.WdLineWidth.wdLineWidth050pt;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderLeft).Color=Word.WdColor.wdColorAutomatic;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderTop).LineStyle=Word.WdLineStyle.wdLineStyleSingle;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderTop).LineWidth=Word.WdLineWidth.wdLineWidth050pt;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderTop).Color=Word.WdColor.wdColorAutomatic;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderBottom).LineStyle=Word.WdLineStyle.wdLineStyleSingle;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderBottom).LineWidth=Word.WdLineWidth.wdLineWidth050pt;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderBottom).Color=Word.WdColor.wdColorAutomatic;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderHorizontal).LineStyle=Word.WdLineStyle.wdLineStyleSingle;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderHorizontal).LineWidth=Word.WdLineWidth.wdLineWidth050pt;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderHorizontal).Color=Word.WdColor.wdColorAutomatic;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderVertical).LineStyle=Word.WdLineStyle.wdLineStyleSingle;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderVertical).LineWidth=Word.WdLineWidth.wdLineWidth050pt;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderVertical).Color=Word.WdColor.wdColorAutomatic;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderRight).LineStyle=Word.WdLineStyle.wdLineStyleSingle;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderRight).LineWidth=Word.WdLineWidth.wdLineWidth050pt;wordDoc.Tables.Item(1).Borders.Item(Word.WdBorderType.wdBorderRight).Color=Word.WdColor.wdColorAutomatic;//wordDoc.Tables.Item(k).Borders.Item(Word.WdBorderType.wdBorderDiagonalDown).LineStyle=Word.WdLineStyle.wdLineStyleSingle;//wordDoc.Tables.Item(k).Borders.Item(Word.WdBorderType.wdBorderDiagonalDown).LineWidth=Word.WdLineWidth.wdLineWidth050pt;//wordDoc.Tables.Item(k).Borders.Item(Word.WdBorderType.wdBorderDiagonalDown).Color=Word.WdColor.wdColorAutomatic;//第一行显示wordDoc.Tables.Item(1).Cell(1,2).Merge(wordDoc.Tables.Item(1).Cell(1,3));wordDoc.Tables.Item(1).Cell(1,4).Me
本文标题:c#操作word表格
链接地址:https://www.777doc.com/doc-4014590 .html