如何自动将数据发送到excel

时间:2012-05-29 14:33:35

标签: sql sql-server excel

我一直在研究如何让sql server在给定特定时间内自动创建发票或报告,类似于预定作业。我希望能够使用具有发票模板的excel表并更新我的sql server更新具有给定数据的字段(客户名称,帐户ID,销售税等)。我遇到了报告的SSRS,但我不知道是否会为我做数据处理。我需要的加工类型很简单,加仑使用*价格/加仑*销售税。我对sql server的经验很少,据我所知,它对sql中的这些算法不太方便,所以我宁愿为我做excel。那么,有没有办法让sql运行更新excel电子表格的自动查询?我已经通过csv文件将数据导入excel,反之亦然,但在这种情况下令我困惑的是我的Excel电子表格本身是一个带有公司徽标的发票模板,所以我不能只将数据导入到模板中。有没有人有什么建议?感谢。

3 个答案:

答案 0 :(得分:1)

我认为你应该使用SSRS报告。 SSRS中的报表服务器可以处理报表处理和文件的调度和交付.U可以获得大多数格式的报表(Excel,Word,pdf等)。您可以通过以下链接了解如何安排和交付您的报表。报告 http://msdn.microsoft.com/en-us/library/ms156297(v=sql.105).aspx

关于加仑= *价格/加仑*销售等逻辑。使用诸如

之类的表达式,可以轻松地将这些逻辑应用于ssrs报告中的列

对于使用的列加仑,表达式为

=(Fields!price.Value/Fields!gallons.Value)*Fields!Sales.Value

答案 1 :(得分:1)

您可以使用此应用程序层:

DATABASE MANAGEMENT SYSTEM
           |
           V
     PROVIDE DATA TO
           |
           V
    YOUR APPLICATION
           |
           V
       WOULD USE
           |
           V
[OPEN XML SDK 2.0 For excel] -  http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2009/06/02/4730.aspx
           |
           V
  TO GENERATE EXCEL FILES 
that contains data that was provided 
     by your DBMS to
    your application

[1]:

答案 2 :(得分:1)

最简单的方法是在SSRS报告中重新创建模板(例如,在报告中嵌入公司徽标),为报告创建订阅,并指定Excel作为订阅的输出格式。

您描述的计算非常简单。如果您的结果集很小,那么在报告中嵌入计算可能不那么具有挑战性。但是,如果您正在处理大型数据集,则最好将计算包含在数据库服务器上执行的查询中。如果您可以弄清楚如何为报告编写查询,那么找出简单的计算并不困难。