0

我正在构建一个解决方案,允许用户从 Word 模板中挑选和选择部分,用数据库中的内容填充这些部分,并将 1k 新数据组装到新的 .docx 文档中将该内容移植到新文档中。我正在使用 OpenXML SDK 2.0 通过样式和内容控件来定位内容。我能够创建包含段落、SdtBlocks、Run 等元素的 IEnumerable 对象。

我需要找到一种优雅的方法来序列化这些元素块,这样我就可以将它们作为 VARBINARY 类型的整个块存储在 SQL 2005 数据库中。有人可以指点我一个可行的例子来序列化这些 OpenXML 部件/元素吗?

4

1 回答 1

0

我目前正在使用 Excel,但我认为您的问题本质上是相似的。

从下面的代码中,我可以提取该行的 XML 代码,然后将其存储。

private string GetContents(uint rowIndex)
{
    return GetExistingRow(rowIndex).OuterXml;
}

private Row GetExistingRow(uint rowIndex)
{
    return SheetData.
            Elements<Row>().
            Where(r => r.RowIndex == rowIndex).
            FirstOrDefault();
}

请注意 SheetData 对象被提取为

this.SheetData = WorksheetPart.Worksheet.GetFirstChild<SheetData>()

我希望这有帮助。

于 2011-06-28T13:09:00.877 回答