0

我们的场景是,我们得到了一个 Word 文档,需要将其转换为 SSRS 报告。

所以我们的步骤是:

  1. 在 Word 2007 中打开文档
  2. 布局正确后将文档另存为 .rdl(我们使用的是 OfficeWriter 8.6.0)
  3. 在VS2008中打开.rdl添加查询
  4. 保存 .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 输出的序列化数据的占位符。

4

1 回答 1

1

您应该能够在 Visual Studio 中编辑由 OfficeWriter 设计器创建的 RDL。但是,您也应该已经在 Visual Studio 中启动了整个过程,并且从您的描述中并不清楚您是否这样做了。文档中的本教程解释了从 Visual Studio 中创建的 RDL 创建 Word 报告的工作流程。该教程中唯一缺少的是 8.6.0 版中引入的新功能,该功能允许您将现有 Word 文档导入报表。以下是步骤:

  1. 在 Visual Studio 中创建包含所有查询的 RDL 文件
  2. 在 Word 的 OfficeWriter 设计器工具栏中打开 RDL 文件
  3. 导入现有的 Word 文档
  4. 根据设计器的需要插入合并字段并设置重复区域
  5. 根据需要进行任何其他格式更改并将 RDL 保存在设计器中(到磁盘或报表服务器)

如果您需要在使用 OfficeWriter 设计器创建初始报表后修改查询,您应该能够在 Visual Studio 中编辑 RDL,并且应该保留 OfficeWriter 特定的信息。

注意:我为 SoftArtisans 工作

于 2014-03-26T18:38:55.020 回答