C# 操作现有Word表格详细教程 |
您所在的位置:网站首页 › 文档里的表格行高怎么设置 › C# 操作现有Word表格详细教程 |
C# 操作现有Word表格详细教程 在Word中,我们可以给一个表格设置格式(如设置样式,设置边框,设置单元格背景色),添加或删除行、列,设置行高和列宽,合并和拆分单元格,插入图片等,也可以删除该表格。在这篇文章中我将介绍如何使用C#和Spire.Doc for .NET控件来实现这些操作。
Spire.Doc组件概述 Spire.Doc是一款专门对 Word 文档进行操作的 .NET类库,用于在.NET应用程序中创建、编辑、打印和转换Word文档,它支持 Word97-2003,Word2007,Word2010 以及 Word2013,并且使用时无需安装Microsoft Word。支持几乎所有的 Word 文档元素,主要包括页面、节、页眉、页脚、脚注、尾注、段落、项目符号和编号、表格、文本、域、超链接、书签、注释、图片、样式、背景设置、打印功能、文档设置和文档保护。同时,也支持形状、文本框、图片、OLE 对象和内容控件。 下载安装Spire.Doc组件后,需添加引用Spire.Doc.dll到Visual Studio,并在程序中添加相应命名空间。
操作Word表格 Spire.Doc组件提供了一个类叫做Table,一个Table对象代表了word文档中的一个表格,通过Table对象可以调用一些方法和属性设置来对Word中的表格进行相应的操作。下面我将展示如何使用Spire.Doc来操作Word文档中的现有表格。 1、表格样式设置 内置样式设置 //载入文档 Document document = new Document("Table.docx"); //获取第一个节 Section section =document.Sections[0]; //获取第一个表格 Table table =section.Tables[0] as Table; //给表格应用内置样式 table.ApplyStyle(DefaultTableStyle.LightGridAccent3); //保存文档 document.SaveToFile("BuiltinStyle.docx", FileFormat.Docx2013);自定义段落样式设置 //载入文档 Document document = new Document("Table.docx"); //获取第一个节 Section section =document.Sections[0]; //获取第一个表格 Table table =section.Tables[0] as Table; //设置自定义样式 ParagraphStyle style = new ParagraphStyle(document); style.Name = "TableStyle"; style.CharacterFormat.FontSize= 14; style.CharacterFormat.TextColor= Color.SeaGreen; style.CharacterFormat.HighlightColor= Color.Yellow; //将自定义样式添加到文档 document.Styles.Add(style); //给表格第一行第一个单元格的第一个段落应用自定义样式 table[0,0].Paragraphs[0].ApplyStyle(style.Name); //保存文档 document.SaveToFile("CustomStyle.docx", FileFormat.Docx2013);2、表格对齐方式设置 //载入文档 Document document = new Document("Tables.docx"); //获取第一个节 Section section =document.Sections[0]; //获取第一、二、三个表格 Table table1 =section.Tables[0] as Table; Table table2 =section.Tables[1] as Table; Table table3 =section.Tables[2] as Table; //设置第一个表格居左 table1.TableFormat.HorizontalAlignment= RowAlignment.Left; table1.TableFormat.LeftIndent= 34; //设置第二个表格居中 table2.TableFormat.HorizontalAlignment= RowAlignment.Center; table2.TableFormat.LeftIndent= 34; //设置第三个表格居右 table3.TableFormat.HorizontalAlignment= RowAlignment.Right; table3.TableFormat.LeftIndent= 34; //保存文档 document.SaveToFile("TableAlignment.docx", FileFormat.Docx2013);3、边框设置 //载入文档 Document document = new Document("Table.docx"); //获取第一个节 Section section =document.Sections[0]; //获取第一个表格 Table table =section.Tables[0] as Table; //设置表格的上边框 table.TableFormat.Borders.Top.BorderType= BorderStyle.Double; table.TableFormat.Borders.Top.LineWidth= 1.0F; table.TableFormat.Borders.Top.Color= Color.YellowGreen; //设置表格的左边框 table.TableFormat.Borders.Left.BorderType= BorderStyle.Double; table.TableFormat.Borders.Left.LineWidth= 1.0F; table.TableFormat.Borders.Left.Color= Color.YellowGreen; //设置表格的右边框 table.TableFormat.Borders.Right.BorderType= BorderStyle.Double; table.TableFormat.Borders.Right.LineWidth= 1.0F; table.TableFormat.Borders.Right.Color= Color.YellowGreen; //设置表格的下边框 table.TableFormat.Borders.Bottom.BorderType= BorderStyle.Double; table.TableFormat.Borders.Bottom.LineWidth= 1.0F; table.TableFormat.Borders.Bottom.Color= Color.YellowGreen; //设置表格的水平和垂直边框 table.TableFormat.Borders.Horizontal.BorderType= BorderStyle.Hairline; table.TableFormat.Borders.Horizontal.Color= Color.Orange; table.TableFormat.Borders.Vertical.BorderType= BorderStyle.Hairline; table.TableFormat.Borders.Vertical.Color= Color.Orange; //保存文档 document.SaveToFile("TableBorder.docx", FileFormat.Docx2013);4、背景颜色设置 行背景颜色设置 //载入文档 Document document = new Document("Table.docx"); //获取第一个节 Section section =document.Sections[0]; //获取第一个表格 Table table =section.Tables[0] as Table; //设置第一行的背景颜色 table.Rows[0].RowFormat.BackColor= Color.SeaGreen; //保存文档 document.SaveToFile("RowBackColor.docx", FileFormat.Docx2013);5、单元格段落对齐方式设置 水平对齐方式设置 //载入文档 Document document = new Document("Table1.docx"); //获取第一个节 Section section =document.Sections[0]; //获取第一个表格 Table table =section.Tables[0] as Table; //设置表格的第二行水平居左 table[1,0].Paragraphs[0].Format.HorizontalAlignment = HorizontalAlignment.Left; table[1,1].Paragraphs[0].Format.HorizontalAlignment = HorizontalAlignment.Left; table[1,2].Paragraphs[0].Format.HorizontalAlignment = HorizontalAlignment.Left; //设置表格的第三行水平居中 table[2,0].Paragraphs[0].Format.HorizontalAlignment = HorizontalAlignment.Center; table[2,1].Paragraphs[0].Format.HorizontalAlignment = HorizontalAlignment.Center; table[2,2].Paragraphs[0].Format.HorizontalAlignment = HorizontalAlignment.Center; //设置表格的第四行水平居右 table[3,0].Paragraphs[0].Format.HorizontalAlignment = HorizontalAlignment.Right; table[3,1].Paragraphs[0].Format.HorizontalAlignment = HorizontalAlignment.Right; table[3,2].Paragraphs[0].Format.HorizontalAlignment = HorizontalAlignment.Right; //保存文档 document.SaveToFile("HorizontalAlignment.docx", FileFormat.Docx2013);6、添加行和列 添加/插入行 //载入文档 Document document = new Document("Table.docx"); //获取第一个节 Section section =document.Sections[0]; //获取第一个表格 Table table =section.Tables[0] as Table; //添加一行到表格的最后 table.AddRow(true, 4); //插入一行到表格的第三行 //table.Rows.Insert(2,table.AddRow()); //保存文档 document.SaveToFile("AddRow.docx", FileFormat.Docx2013);8、设置行高和列宽 //载入文档 Document document = new Document("Table.docx"); //获取第一个表格 Table table =document.Sections[0].Tables[0] as Table; //设置第一行的行高 table.Rows[0].Height= 20; for (int i = 0; i < table.Rows.Count; i++) { //设置第二列的列宽 table.Rows[i].Cells[1].Width = 20; } //保存文档 document.SaveToFile("SetRowHeightAndColumnWidth.docx", FileFormat.Docx2013);9、插入图片到单元格 //载入文档 Document document = new Document("Product.docx"); //获取第一个表格 Table table =document.Sections[0].Tables[0] as Table; //插入图片到第二行第二个单元格 DocPicture picture =table.Rows[1].Cells[1].Paragraphs[0].AppendPicture(Image.FromFile("1.jpg")); //设置图片的宽度和高度 picture.Width = 100; picture.Height =100; //保存文档 document.SaveToFile("InsertPicture.docx", FileFormat.Docx2013);10、合并和拆分单元格 合并单元格 //载入文档 Document document = new Document("Table.docx"); //获取第一个表格 Table table =document.Sections[0].Tables[0] as Table; //水平合并(合并第1行的第1、2个单元格) table.ApplyHorizontalMerge(0,0, 1); table.Rows[0].Cells[0].Paragraphs[0].ChildObjects.Add(table.Rows[0].Cells[1].Paragraphs[0].ChildObjects[0]); //垂直合并(合并第1列的第3、4个单元格) table.ApplyVerticalMerge(0,2, 3); table.Rows[2].Cells[0].Paragraphs[0].ChildObjects.Add(table.Rows[3].Cells[0].Paragraphs[0].ChildObjects[0]); //保存文档 document.SaveToFile("MergeCells.docx", FileFormat.Docx);11、插入嵌套表格 //载入文档 Document document = new Document("Table.docx"); //获取第一个表格 Table table =document.Sections[0].Tables[0] as Table; //添加嵌套表格到该表格的第4行第4列的单元格 Table nestedTable =table[3, 3].AddTable(true); //指定嵌套表格的行数和列数 nestedTable.ResetCells(2,2); //给嵌套表格应用格式 nestedTable.ApplyStyle(DefaultTableStyle.LightListAccent4); nestedTable.AutoFit(AutoFitBehaviorType.AutoFitToWindow); //保存文档 document.SaveToFile("NestedTable.docx", FileFormat.Docx2013);12、删除表格 //载入文档 Document document = new Document(@"Table.docx"); //删除第一个表格 document.Sections[0].Tables.RemoveAt(0); //保存文档 document.SaveToFile("RemoveTable.docx", FileFormat.Docx2013);
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |