【问题标题】:Workaround for exporting data to Excel with more than 255 columns将超过 255 列的数据导出到 Excel 的解决方法
【发布时间】:2017-02-19 01:53:44
【问题描述】:

SSMSSSRS 到 Excel 可在复制粘贴时支持超过 255 列。

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

【问题讨论】:

    标签: sql-server excel ssis etl sql-server-data-tools


    【解决方案1】:

    问题

    exporting to an Excel Files using Sql server data tools时有很多限制

    解决方法

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

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

    注意:您必须将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


    参考文献

    第三方组件

    解决方法

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2017-12-02
        • 1970-01-01
        • 2021-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多