【问题标题】:Writeback between Excel 2007 and SQL Server 2008R2Excel 2007 和 SQL Server 2008R2 之间的写回
【发布时间】:2012-02-20 17:52:49
【问题描述】:

在 Excel 2007 和 MS SQL Server 2008 R2 之间构建回写的最有效方法是什么?

我需要一个稳定的解决方案来在 Excel 和 SQL Server 之间进行通信。我需要从数据库中的表格下载数据,在 Excel 中计算并填写新数据,然后将这些新值提交到数据库。

我发现 SSIS 应该能够做到这一点,但如果我错过了一种更标准的连接方式,那可能就有点过头了。

【问题讨论】:

  • 计算出来的新数据是不是基于用户输入的?如果不是,当你可以在 SQL Server 中完成所有事情时,去 excel 似乎毫无意义
  • 数据是用户自定义的,不能只用SQL中的逻辑来完成。

标签: sql-server sql-server-2008 excel ssis excel-2007


【解决方案1】:

我用过这样的动态sql..

SET @sQl='SELECT ID=ROW_NUMBER() OVER(ORDER BY F2), * into xlCitems FROM '+dbo.fsExcelODS(@XLSPATH,'CITEMS')+' WHERE DESCRIPTION IS NOT NULL'

EXEC SP_EXECUTESQL @sql;

标量函数 dbo.fsexcelODS 返回

中定义的 openDatasoure 语句
ALTER function [dbo].[fsExcelODS](@pathtods varchar(max),@sourceTable varchar(200))returns varchar(max)as 
begin

return  'OpenDataSource('+dbo.fsQuoteString('Microsoft.ACE.OLEDB.12.0')+','+dbo.fsquoteString('Data Source='+dbo.fsdquotestring(@pathtods)+';Extended Properties="Excel 12.0;HDR=YES;IMEX=10"')+')...'+@sourcetable


end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多