我正在构建一个解决方案,允许用户从Word模板中挑选和选择部分,使用数据库中的内容填充这些部分,并组装1k 将新数据转换为新的.docx文档 到目前为止,我有成功的方法来定位内容并将内容移植到新文档中。我正在使用OpenXML SDK 2.0按样式和内容控件查找内容。我能够创建包含诸如Paragraphs,SdtBlocks,Run等元素的IEnumerable对象。
我需要找到一种优雅的方法来序列化这些元素块,这样我就可以将它们作为VARBINARY类型的整个块存储在SQL 2005数据库中。有人可以请我指出一个可行的例子来序列化这些OpenXML零件/元素吗?
答案 0 :(得分: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>()
我希望这会有所帮助。