在vsto、Aspose.Words 中,默认没有直接的 API 可以让表格整体旋转 90 度。然而,我们可以通过一些方式来实现类似的效果,具体思路如下:
将表格插入到一个形状(Shape)或文本框中,然后旋转该形状。
将表格内容旋转,这通过设置文本方向为垂直来模拟旋转效果。
using Aspose.Words;
using Aspose.Words.Tables;
using Aspose.Words.Drawing;class Program
{static void Main(){// 创建文档和 DocumentBuilderDocument doc = new Document();DocumentBuilder builder = new DocumentBuilder(doc);// 创建 Shape(文本框)Shape shape = new Shape(doc, ShapeType.TextBox);shape.Width = 200; // 设置文本框的宽度shape.Height = 400; // 设置文本框的高度shape.WrapType = WrapType.None;// 旋转 Shape 90 度shape.Rotation = 90;// 将 Shape 添加到文档中builder.InsertNode(shape);// 创建一个新的 DocumentBuilder 用于 Shape 内部DocumentBuilder shapeBuilder = new DocumentBuilder(doc);shapeBuilder.MoveTo(shape.FirstParagraph);// 在 Shape 内部添加一个表格Table table = shapeBuilder.StartTable();shapeBuilder.InsertCell();shapeBuilder.Write("Cell 1");shapeBuilder.InsertCell();shapeBuilder.Write("Cell 2");shapeBuilder.EndRow();shapeBuilder.InsertCell();shapeBuilder.Write("Cell 3");shapeBuilder.InsertCell();shapeBuilder.Write("Cell 4");shapeBuilder.EndTable();// 保存文档doc.Save("RotatedTable.docx");}
}