将 SSRS 2005 报告导出到 Excel 2007

发布于 2024-08-17 22:36:28 字数 71 浏览 10 评论 0原文

有没有办法将 SSRS 2005 报告导出到 Excel 2007 (.xlsx) 而不是 Excel 2003 (.xls)?

Is there any way to export a SSRS 2005 report to Excel 2007 (.xlsx) instead of Excel 2003 (.xls)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

攒一口袋星星 2024-08-24 22:36:29

我意识到已经过去了半年,但是这个问题经常出现,我希望有人会发现我的答案有用。

SSRS 2005 的本机输出通常称为 WebForm,这基本上就是 SSRS 应该生成的内容。问题是,用户通常希望获得其他形式的报告,这就是添加导出(翻译)的原因。这里的问题是,它不会直接生成所需形式的输出,而是创建一个正在处理并转换为另一种格式的网络表单(因此存在额外的问题/限制)。

虽然 MS 代表的官方答案是您需要有 MS SQL 2012(我可以理解 - 因为存在官方支持、公司内部政策等问题),但我们有多种方法可以实现该目标。

这主要取决于您想要将其放在 xslx 中的原因。
大多数情况下,这只是因为(报告中的大表)xls 行/列限制。

你能做什么?

  1. 获取第 3 方插件
    (有人已经认为这是一个潜在的好处 - 文章中的 URL 1 处有示例链接

  2. 配置您自己定义的渲染器 - 在 URL 2 中描述,但需要您有翻译引擎

  3. 在 Excel 2007 文件中使用 VBA 导入数据(作为 xls 或 csv)并按您喜欢的方式保存。

  4. 使用解决方法 - 使您的表格符合 Excel 2003 限制。
    例如。如果行太多(如 URL 3 中所述):

在表属性上,转到“组”选项卡并添加一个新组。在“分组”区域中输入:=Int((RowNumber(Nothing)-1)/60000) 并选中“末尾分页符”框。

URL 1 - Social.msdn.microsoft.com/Forums/sqlserver/en-US/9d8cd766-ff78-490f-8a5d-bb4a0debdfc1/export-ssrs-2005-report-to-excel-2007

URL 2 - www.travata.eu /blogs/technical/?p=435

URL 3 - www.sqlservercentral.com/Forums/Topic554766-150-1.aspx

I realize that a half year has passed, however this question returns quite often and I hope someone will find my answer usefull.

Native output for SSRS 2005 is usually reffered as the WebForm and this is basically what SSRS is suppose to produce. The thing is that often users wants to have the report in other form and thats why exporting (translation) has been added. The problem here is that it isnt generating output directly to desired form, but it creates a webform that is beeing processed and translated to another format (thus additional issues/limitations).

While the official answer from the MS representatives is that you need to have MS SQL 2012 (which I can understand - as there's a matter of official support, company internal policy etc.) there is a number of ways allowing us to archive that goal.

It mostly depends on a reason why you want to have it in xslx.
Most often it is just because of (big table in report) xls rows/colums limitations.

What can you do?

  1. Get 3rd party plugin
    (someone already seen this as a potential benefit - there are example links in article at URL 1

  2. Configure your own defined renderer - described at URL 2, but requires you to have translation engine

  3. Use VBA in Excel 2007 file to import data (as xls or csv) and save it as you like it.

  4. Use workaround - make your tables the way they fit into Excel 2003 restrictions.
    eg. in case of too many rows (described at URL 3):

On the table properties, go to the Groups tab and add a new group. In the Group on area enter: =Int((RowNumber(Nothing)-1)/60000) and check the Page Break at End box.

URL 1 - social.msdn.microsoft.com/Forums/sqlserver/en-US/9d8cd766-ff78-490f-8a5d-bb4a0debdfc1/export-ssrs-2005-report-to-excel-2007

URL 2 - www.traviata.eu/blogs/technical/?p=435

URL 3 - www.sqlservercentral.com/Forums/Topic554766-150-1.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文