【发布时间】:2017-02-19 01:53:44
【问题描述】:
SSMS 和 SSRS 到 Excel 可在复制粘贴时支持超过 255 列。
SSIS 不允许将超过 255 列导出到 Excel 2007。 有没有办法覆盖它?
【问题讨论】:
标签: sql-server excel ssis etl sql-server-data-tools
SSMS 和 SSRS 到 Excel 可在复制粘贴时支持超过 255 列。
SSIS 不允许将超过 255 列导出到 Excel 2007。 有没有办法覆盖它?
【问题讨论】:
标签: sql-server excel ssis etl sql-server-data-tools
exporting to an Excel Files using Sql server data tools时有很多限制
您可以采取一些解决方法来实现此目的:
FlatFile (csv)注意:您必须将Microsoft.Office.Interop.Excel.dll 文件添加到以下目录(.Net Framework dll 目录)C:\Windows\Microsoft.NET\Framework\v2.0.50727 和(sql server 数据工具 dll 目录)C:\Program Files\Microsoft SQL Server\100\DTS\Binn(使用 vs 2005 和 sql 2008)然后将此 dll 作为参考添加到您的脚本任务中
Imports Microsoft.Office.Interop
Public Sub ConvertCSVToExcel(Fromcsv As String, Toxlsx As String)
Dim Exl As New Excel.Application()
Try
Dim wb1 As Excel.Workbook = Exl.Workbooks.Open(Fromcsv, Format:=4)
wb1.SaveAs(Toxlsx, FileFormat:=XlFileFormat.xlOpenXMLWorkbook)
wb1.Close()
Exl.Quit()
Catch ex As Exception
Exl.DisplayAlerts = False
Exl.Quit()
End Try
End Sub
或者您必须使用第三方组件,例如cozyRoc SSIS+
如果您希望从 excel 中导入超过 255 列的数据,您可以关注Link
第三方组件
解决方法
【讨论】:
请参阅link。最好是在 SSIS 中创建一个脚本以将内容复制为 csv 格式。您可以使用 c# 或 VB.Net。
【讨论】: