你可以从Excel连接到SQL Server吗?

我需要从一个SQL Server数据库中创build一些报表供最终用户查看。

是否有可能从Excel中挂钩到SQL Server?

更新最终用户只会点击文件来查看报告,要求他们做更多的事情太多了!

是的,这绝对是取决于你有什么版本的Excel。 在2007年,如果您在“数据”选项卡下,然后select“获取外部数据”,则会看到许多选项以连接到各种数据源,包括SQL

当然 – 在Excel 2007中点击“数据”选项卡,然后点击“连接”,然后点击“浏览更多”并select“+ NewSqlServerConnection.odc”

这是我使用的解决scheme: http : //mikesknowledgebase.com/pages/SQLServer/RunStoredProcedureFromExcel.htm

基本上,它使用一些VBA调用存储过程,然后在Excel文件中显示结果。

Excel与存储过程

当我们想给用户一个特别的报告时,我们使用了很多,而不需要为我们的ASP.Net应用添加额外的屏幕,或者重新部署我们的应用程序的新版本。

在2007年,你确实可以进入“数据”选项卡,然后“获取外部数据”。 您可以从很多来源收集数据,包括SQL Server,网页和Access。

连接后有一个选项来更新数据:

  • 每x分钟
  • 当打开Excel工作表时

您甚至可以select在closuresExcel工作表时删除数据。

如果你想确保你对最终用户没有技术要求,那么导出过程是一个更好的方法,而不是直接从Excel文件链接到服务器。

你可以保存连接信息,但是有一些办法可以把它搞砸,如果不能信任它来configuration它,那很可能是提取数据并给出一个静态副本的最佳select。

您可以使用VBA连接到数据库并导入数据。 用户将只需要打开文件。 您的VBA代码将执行数据的检索和格式化。

最简单和最古老的方法是使用ODBC,但对于VBScript,任何事情都是可能的。

您可能最好创build一个视图(或者只是一个查询),它以您想要的方式呈现数据,然后使用DTS(SQL 2000)或SSIS(SQL 2005)来使用Microsoft Excel ODBC驱动程序导出信息