将数据导出到超过255列的Excel的解决方法

SSMSSSRS到Excel在复制粘贴时启用超过255列。

SSIS不允许超过255个列导出到Excel 2007.有没有办法来覆盖这个?

问题

使用Sql server数据工具导出到Excel文件时有很多限制

解决方法

你可以做一些解决方法来实现这一点:

  1. 创build一个将数据导出到FlatFilecsv )的数据stream任务
  2. 将您的目标文件名存储在variables中
  3. 使用具有类似function的脚本任务创build另一个将您的csv文件转换为Excel文件的Dataflow任务

注意:您必须将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 +这样的第三方组件

边注

如果您希望从超过255列的Excel中导入数据,则可以按照此链接进行操作

参考

第三方组件

解决方法

请参阅链接 。 最好的方法是在SSIS中创build一个脚本,将内容复制为csv格式。 你可以使用c#或VB.Net。