第 1 步:创建一个新的 Word 文档并添加一个新节。
Document document = new Document();Section section = document.AddSection();
第 2 步:添加一个 3 列 3 行的表格。您可以在创建表格时将 showBoder 属性设置为 true。将第一列合并为一个单元格。
Table table = section.AddTable(true);table.ResetCells(3, 3);table.ApplyVerticalMerge(0, 0, 2);
第 3 步:设置每个单元格的垂直对齐方式,默认为顶部。这里我们设置第一行为Top,第二行为Middle,第三行为Bottom。
table.Rows[0].Cells[0].CellFormat.VerticalAlignment = VerticalAlignment.Middle;table.Rows[0].Cells[1].CellFormat.VerticalAlignment = VerticalAlignment.Top;table.Rows[0].Cells[2].CellFormat.VerticalAlignment = VerticalAlignment.Top;table.Rows[1].Cells[1].CellFormat.VerticalAlignment = VerticalAlignment.Middle;table.Rows[1].Cells[2].CellFormat.VerticalAlignment = VerticalAlignment.Middle;table.Rows[2].Cells[1].CellFormat.VerticalAlignment = VerticalAlignment.Bottom;table.Rows[2].Cells[2].CellFormat.VerticalAlignment = VerticalAlignment.Bottom;
第 4 步:将数据追加到表中。
Paragraph paraPic = table.Rows[0].Cells[0].AddParagraph();DocPicture pic = paraPic.AppendPicture(Image.FromFile("1.png"));String[][] data = {new string[] {"","Spire.Office","Spire.DataExport"},new string[] {"","Spire.Doc","Spire.DocViewer"},new string[] {"","Spire.XLS","Spire.PDF"}};for (int r = 0; r < 3; r++){TableRow dataRow = table.Rows[r];dataRow.Height = 50;for (int c = 0; c < 3; c++){if (c == 1){Paragraph par = dataRow.Cells[c].AddParagraph();par.AppendText(data[r][c]);dataRow.Cells[c].Width = (section.PageSetup.ClientWidth) / 2;}if (c == 2){Paragraph par = dataRow.Cells[c].AddParagraph();par.AppendText(data[r][c]);dataRow.Cells[c].Width = (section.PageSetup.ClientWidth) / 2;}}}
第 5 步:保存并查看。
document.SaveToFile(@"result.docx", FileFormat.Docx2013);System.Diagnostics.Process.Start(@"result.docx");
结果截图:

完整代码:
using Spire.Doc;using Spire.Doc.Documents;using Spire.Doc.Fields;using System;using System.Drawing;namespace SetVerticalAlignment{class Program{static void Main(string[] args){Document document = new Document();Section section = document.AddSection();Table table = section.AddTable(true);table.ResetCells(3, 3);table.ApplyVerticalMerge(0, 0, 2);table.Rows[0].Cells[0].CellFormat.VerticalAlignment = VerticalAlignment.Middle;table.Rows[0].Cells[1].CellFormat.VerticalAlignment = VerticalAlignment.Top;table.Rows[0].Cells[2].CellFormat.VerticalAlignment = VerticalAlignment.Top;table.Rows[1].Cells[1].CellFormat.VerticalAlignment = VerticalAlignment.Middle;table.Rows[1].Cells[2].CellFormat.VerticalAlignment = VerticalAlignment.Middle;table.Rows[2].Cells[1].CellFormat.VerticalAlignment = VerticalAlignment.Bottom;table.Rows[2].Cells[2].CellFormat.VerticalAlignment = VerticalAlignment.Bottom;Paragraph paraPic = table.Rows[0].Cells[0].AddParagraph();DocPicture pic = paraPic.AppendPicture(Image.FromFile("1.png"));String[][] data = {new string[] {"","Spire.Office","Spire.DataExport"},new string[] {"","Spire.Doc","Spire.DocViewer"},new string[] {"","Spire.XLS","Spire.PDF"}};for (int r = 0; r < 3; r++){TableRow dataRow = table.Rows[r];dataRow.Height = 50;for (int c = 0; c < 3; c++){if (c == 1){Paragraph par = dataRow.Cells[c].AddParagraph();par.AppendText(data[r][c]);dataRow.Cells[c].Width = (section.PageSetup.ClientWidth) / 2;}if (c == 2){Paragraph par = dataRow.Cells[c].AddParagraph();par.AppendText(data[r][c]);dataRow.Cells[c].Width = (section.PageSetup.ClientWidth) / 2;}}}document.SaveToFile(@"result.docx", FileFormat.Docx2013);System.Diagnostics.Process.Start(@"result.docx");}}
以上便是如何通过 Spire.Doc 在 Word 中设置表格的垂直对齐方式,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询在线客服 ;
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!