1) Gavlaaa 对 SQL Server Reporting Services (SSRS) 的建议可能比使用 Excel 作为输入更方便用户...
((PS我没有尝试过,但这表明您可以使用Excel作为SSRS的输入:http:
//www.codeproject.com/Questions/449194/How-to-import-Excel-data-as-input-in -SSRS ))
2)但以防万一您真的想使用 Excel 作为输入...考虑 SSIS(SQL Server 集成服务)——我们使用什么。
此建议假定您使用的是 SQL Server 2005 或更高版本。(如果您使用的是 SQL Server 2000,则应使用 DTS 而不是 SSIS。)
SSIS 允许您将 Excel 电子表格导入 SQL 数据库、表中。然后,您可以执行 T-SQL 命令(如 SELECT INTO)来创建新表,然后再次导出到 Excel。(((我们使用 SSIS 导入 Excel,使用 T-SQL 验证和格式化,并导出以验证和预格式化产品数据......然后将其导出为精确的格式以进行编程加载。))
但是,SSIS 希望导入的 Excel 电子表格采用可预测的格式:例如,一列没有小数的数字,或者总是有两个小数点……等等。如果您有额外的列,它们将被跳过(使用元数据警告);如果您的列太少,文件可能会意外导入(无法导入,或者至少是元数据警告);如果该列是不同的格式(例如,假定小数时没有小数),那么 SSIS 可能会变得非常奇怪,例如在某些但不是所有行上导入带有空值的该列(在这些情况下没有元数据警告) .
因此,从 Excel 导入 SSIS 时,一致的列格式很重要。((我们通过在最初导入的 Excel 输入电子表格中将所有列设为纯文本/无格式,然后在需要时将 T-SQL 转换为特定数据类型,然后再导出到 Excel 输出来简化这一点。))
要了解有关 SSIS 的更多信息,请尝试以下链接:http:
//msdn.microsoft.com/en-us/library/ms137709 (SQL.90).aspx
要尝试使用 SSIS 的简单方法,请使用导入/导出向导:在 SSMS (SQL Server Management Studio) 中,右键单击您的一个数据库,选择“任务”,然后选择“导出数据”。在第二个对话框(“选择目标”)上,滚动到“目标”下拉列表顶部附近并找到 Excel....,然后在“保存并执行包”对话框中,选择“保存 SSIS 包”,然后为现在(为了简单起见)选择“文件系统”单选按钮...将您的 SSIS 包保存为 windows 文件。
我可以说更多...如果您对 SSIS 感兴趣。
3)如果您仍然有某些理由实际更改 SQL 命令中的 WHERE 子句,您可以构建一个 SELECT 语句,然后使用 EXEC 命令执行它:
http ://technet.microsoft.com/en-us/library/ ms188332%28v=sql.90%29.aspx