考虑您有一个现有的excel工作表,它需要从sqlserver加载数据。数据是标准化的,因此从表中读取不是一种选择。顺便说一句,这是Excel 2010。
我尝试通过存储过程提供数据,但由于我必须进行一些数据转换,因此SP不是一个选项。
下一个想法是通过网络服务提供数据。我读了这个article,但我不喜欢这个结果,因为工作表的内容是用.Net代码写的。我更喜欢的解决方案是某种数据提供程序,它可以直接在excel表中使用,类似于直接从表中读取数据。
有没有办法实现这个目标?
修改的
因为第一个评论和答案。考虑数据转换,例如从刻度线(long
)到DateTime
的转换。我要在.net中这样做,因为结果取决于目标时区。
答案 0 :(得分:0)
如果我正确地阅读了您的问题,有几种方法可以做到这一点:
创建一个新的Excel工作表文档,使用新Excel工作表中“数据”选项卡下的“来自其他来源”选项,提供您的SQL详细信息并连接到您需要在Excel工作表中显示的数据。
您还可以使用随SQL Server一起安装的“导入和导出数据”工具。这是一个相当简单的过程,该工具将指导您完成将数据导出到Excel工作表的必要步骤。
如果需要在应用程序代码中执行此操作,则可以使用自定义数据库视图,该视图返回已处理的数据和自定义列,从代码调用此DB视图,检索数据行并写入Excel工作表文件。以下链接显示了如何在C#中执行此操作:http://csharp.net-informations.com/excel/csharp-excel-export.htm