各种项目中经常有需求,在服务器端生成各种PDF,WORD,EXCEL等报告。
通常使用的方法是用VBS或VSTO操作OFFICE对象模型,修改WORD或Excel模板生成文件,PDF可以使用PDF打印机制作PDF文件。这种方式问题多多,经常由于在服务器端操作Office的对象发生错误。
最近的项目中通过Sharepoint foundation和SSRS的结合,十分方便的生成了PDF,WORD和Excel也是同理,以PDF为例简单介绍一下。Sharepoint可以提供报告内容的管理和文档管理的功能,SSRS可以提供报告生成。SSRS的报表生成是所见即所得的方式,开发效率非常高效。
一、生成生产环境:
需要预先安装好Sharepoint 2013 foundation和SQL Server2012并完成基本的SP配置。另需要再配置SP和SSRS的集成模式,这个配置步骤网上有很多介绍,简单步骤如下,详细安装配置包含截图的,百度一下ssrs就有了。
1. 打开sp的命令行,键入下面的命令
Install-SPRSService
Install-SPRSServiceProxy
get-spserviceinstance -all |where {$_.TypeName -like "SQL Server Reporting*"} | Start-SPServiceInstance
安装RS与SP的集成模式如果提示错误:“cmdlet 不可用,并且命令无法识别。”一般是由于没有安装集成模式插件导致。可以如下微软的官方网站下载插件安装:
https://www.microsoft.com/zh-cn/download/details.aspx?id=35583
2. 在sharepoint 2013 管理中心中依次打开
系统设置 - 管理服务应用程序 - 新建 - SQL Server Reporting Services 服务应用程序
输入相应的内容,确定即启动“SQL Server Reporting Services 服务”
3. 打开“网站集管理”中的“网站集功能”,找到并激活“报表服务器集成功能”
如上配置上了SSRS和SP的集成模式
二、开发环境
对于SSRS报表的开发,目前有两个工具都可以,根据开发量和环境可以随意切换。
1. visual studio:2008以上版本均可,我使用的VS2012,VS2012中预装商业智能模板,即可创建SSRS报表服务
2. Report builder:这个SSRS自带的报表编辑工具,只要配置SP和SSRS的集成模式,在SP的网站内既可以直接安装Report builder并打开对应的rdl报表。如下图Sharepoint的内容编辑菜单,和打开页面。
对于这两个工具,使用环境和方法建议如下:
VS:报表数量较多,开发完成后需要大量测试,走完测试流程再安装部署。
Builder:单一报表修改,在线直接修改报表内容,快速线上修复Bug。