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

Workaround for exporting data to Excel with more than 255 columns

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

SSIS 不允许将超过 255 列导出到 Excel 2007。 有没有办法覆盖它?

参考link。最好是在 SSIS 中创建一个脚本,以将内容复制为 csv 格式。您可以使用 c# 或 VB.Net.

问题

exporting to an Excel Files using Sql server data tools

时有很多限制

解决方法

您可以采取一些解决方法来实现此目的:

  1. 创建一个数据流任务,将您的数据导出到 FlatFile (csv)
  2. 将目标文件名存储在变量中
  3. 创建另一个数据流任务,使用具有类似功能的脚本任务将您的 csv 文件转换为 Excel 文件

注意:您必须将Microsoft.Office.Interop.Excel.dll文件添加到以下目录(.Net Framework dll目录)C:\Windows\Microsoft.NET\Framework\v2.0.50727和(sql服务器数据工具dll目录) C:\Program Files\Microsoft SQL Server0\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


参考资料

第三方组件

解决方法

仅供任何人访问此页面并使用 SQL 服务器导入和导出向导 导出到 excel

在选项卡中 查看数据类型映射 数据类型映射部分:==> 双击长度超过 255 个字符的列,打开其 Column Conversion Details 对话框,然后关闭它 然后在结束的旁边...Lool