我们的场景是,我们得到了一个 Word 文档,需要将其转换为 SSRS 报告。
所以我们的步骤是:
- 在 Word 2007 中打开文档
- 布局正确后将文档另存为 .rdl(我们使用的是 OfficeWriter 8.6.0)
- 在VS2008中打开.rdl添加查询
- 保存 .rdl 并在 Word 2007 中重新打开。
问题是从VS2008保存.rdl后,OfficeWriter创建的原始XML发生了变化,Word没有显示任何格式。
来自 OW 的原始 XML 是
<Custom Application="Word" VersionEx="8.6.0">data</Custom>
但是在VS2008中打开.rdl并保存后,XML变成了
<CustomProperties>
<CustomProperty>
<Name>Custom</Name>
<Value>data</Value>
</CustomProperty>
</CustomProperties>
所以我想我的问题是,我们应该尝试在 VS2008 中编辑 OfficeWriter 8.6 .rdl 文件,还是应该从 Word 中执行所有操作(使用 MS Query)?
编辑
我们发现了一个有趣的解决方法/hack:
从 VS2008 保存更改后,如果我们手动编辑 .rdl 以使 XML 成为这种格式
<CustomProperties>
<CustomProperty>
<Name>OfficeWriter_Designer_Version</Name>
<Value>8.6.0</Value>
</CustomProperty>
<CustomProperty>
<Name>Word</Name>
<Value>data</Value>
</CustomProperty>
</CustomProperties>
然后 .rdl 可以在 OfficeWriter 和 VS2008 中编辑而不会丢失格式。
顺便说一句,它在 XML 片段中表示数据,这只是 OfficeWriter 输出的序列化数据的占位符。