文档彩票走势图>>Aspose中文文档>>将表格添加到 Word 文档
将表格添加到 Word 文档
Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
使用 Aspose.Words在 Aspose.Words 中,通常使用DocumentBuilder插入表格。使用其方法构建表格并将内容插入表格单元格,例如以下内容:
- 起始表
- 插入单元格
- 结束行
- EndTable
- 写入
以下代码示例展示了如何将表格添加到文档中:
Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Start the table, then populate the first row with two cells. builder.StartTable(); builder.InsertCell(); builder.Write("Row 1, Cell 1."); builder.InsertCell(); builder.Write("Row 1, Cell 2."); // Call the builder's "EndRow" method to start a new row. builder.EndRow(); builder.InsertCell(); builder.Write("Row 2, Cell 1."); builder.InsertCell(); builder.Write("Row 2, Cell 2."); builder.EndTable(); // Save the document. doc.Save("CreateTable.docx");
点击复制
使用 Open XML SDK
需要添加的命名空间:
using DocumentFormat.OpenXml; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Wordprocessing; using NUnit.Framework;
点击复制
WordProcessingML文档的基本文档结构由文档和正文元素组成,后跟一个或多个块级元素,例如代表段落的 p。一个段落包含一个或多个 r 元素。r 代表 run,它是具有一组通用属性(例如格式设置)的文本区域。一次运行包含一个或多个 t 元素。t 元素包含文本范围。 为了创建此结构,下面的代码中使用了CreateWordprocessingDocument函数。通过使用AddTable函数,我们可以通过传递文件名和数据字符串将表格添加到word文档中。
以下代码示例展示了如何将表格添加到文档中:
public void AddTableFeature() { string[,] data = {{"Mike", "Amy"}, {"Mary", "Albert"}}; using (WordprocessingDocument wordDocument = WordprocessingDocument.Create(ArtifactsDir + "Add Table - OpenXML.docx", WordprocessingDocumentType.Document)) { MainDocumentPart mainPart = wordDocument.AddMainDocumentPart(); mainPart.Document = new Document(); Body body = mainPart.Document.AppendChild(new Body()); Paragraph para = body.AppendChild(new Paragraph()); Run run = para.AppendChild(new Run()); run.AppendChild(new Text("Create text in body - Create wordprocessing document")); Table table = new Table(); TableProperties props = new TableProperties( new TableBorders( new TopBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 12 }, new BottomBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 12 }, new LeftBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 12 }, new RightBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 12 }, new InsideHorizontalBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 12 }, new InsideVerticalBorder { Val = new EnumValue<BorderValues>(BorderValues.Single), Size = 12 })); table.AppendChild(props); for (var i = 0; i <= data.GetUpperBound(0); i++) { var tr = new TableRow(); for (var j = 0; j <= data.GetUpperBound(1); j++) { var tc = new TableCell(); tc.Append(new Paragraph(new Run(new Text(data[i, j])))); // Assume you want automatically sized columns. tc.Append(new TableCellProperties( new TableCellWidth {Type = TableWidthUnitValues.Auto})); tr.Append(tc); } table.Append(tr); } mainPart.Document.Body.Append(table); mainPart.Document.Save(); } }
点击复制