通过 Web 服务将 Sql Server 导入 Excel

3
我想知道从Web服务传输数据到Excel工作表(Office 2007)的最佳方式。我不关心从网站输出报告到Excel。在我们的情况下,用户将使用带有多个宏等的Excel,并将从服务器请求约11000行数据到工作表。请问有人有经验吗?谢谢。

目标是从Excel获取数据(表格数据)从.NET Web服务,并尽可能高效地填充工作表。我在网上进行了一些搜索,但有点惊讶的是,这个功能实际上并不是Excel 2007的一部分。 - David
4个回答

4
过去我使用的一个简单解决方案,是通过将数据作为网页中的表格公开,从数据库通过Web服务器传输到Excel。这可以使用任何你喜欢的技术来完成,例如ASP.NET,它可以连接到数据库,检索数据并将数据放入GridView控件中。
然后,在Excel中设置一个“Web查询”。这可以通过使用菜单项“数据”->“导入外部数据”->“新建Web查询”来完成。然后,你可以导航到你的网页,选择表格作为数据源,并选择要写入的范围。
还有自动刷新、查询字符串参数(来自工作表中的单元格)等选项。
你可以使用VBA自动刷新Web查询,作为更大过程的一部分。
Sheet1.QueryTables(1).Refresh

1

我们需要从客户端界面/应用程序中获取Excel数据。正是Excel需要从Web服务中取出数据。 - David
1
好的,那么答案就是AdamRalph建议构建一个宏。 - Brent Ozar

0
我最近使用了一个类似的系统,基本上它只是一个带有一些VB脚本的Excel工作簿,用于调用Web服务。它还会提示用户输入凭据。
关于电子表格方面的代码,我不能发布任何相关内容,但微软等网站上有许多示例和信息,比如this,还有其他教程/示例,比如this

这些是非常好的资源。我们遇到的一个问题是如何快速将XML数据移动到工作表中(而不需要循环)。有任何关于如何做到这一点的想法吗?谢谢。 - David

0

2
请注意:HTTP连接管理器仅支持匿名身份验证和基本身份验证,不支持Windows身份验证。 - Mitch Wheat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接