我希望将SQL查询的结果导出到Excel,格式化为模板。
基本上用户点击数据行,查询针对该特定参数执行,并且用户可以选择保存到Excel文件。
干杯
比尔
答案 0 :(得分:0)
我建议您在运行时使用查询返回的结果而不是.xls
在C#中创建.csv文件.csv文件可以在Excel中打开,因此您仍然可以在最后使用excel作为应用程序
创建csv文件后,您可以在其中打开excel,如System.Diagnostics.Process.Start("yourExcelFile.xls");
另请注意此链接,因此我不建议您使用Office of Automation
来自http://support.microsoft.com/kb/257757 Microsoft的段落 目前不建议,也不支持自动化 Microsoft Office应用程序来自任何无人值守的非交互式应用程序 客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT 服务),因为Office可能表现出不稳定的行为和/或 在此环境中运行Office时出现死锁。
答案 1 :(得分:0)
为了做到这一点,我建议在Excel工作表后面写一些VBA代码(Alt F11会带你到编码窗口)
然后编写一些代码来调用存储过程(以下链接中的VBA示例)
http://support.microsoft.com/kb/185125
获得数据后,将其直接存储到文件而不是用它填充表单应该不难。
答案 2 :(得分:0)
我会使用常规解决方案将数据从sql server和excel(作为行和列)中获取,但将返回的数据放在与模板不同的工作表中。
http://blogs.office.com/b/microsoft-excel/archive/2010/06/07/running-a-sql-stored-procedure-from-excel-no-vba.aspx
http://codebyjoshua.blogspot.com.au/2012/01/get-data-from-sql-server-stored.html
一旦您的数据在Excel中,在模板工作表中,只需使用每个数据项的数据表链接('= Sheet2!A6')。
HTH
mcalex