【发布时间】:2017-11-14 05:55:18
【问题描述】:
我正在 Visual Studio 上创建 ETL,但是当我将数据导出到 Excel 上的表格时,列似乎有点短。有没有办法从 Visual Studio 自动调整列宽?谢谢
更新 1
这是我复制的代码以及我得到的错误
【问题讨论】:
标签: sql-server excel ssis etl column-width
我正在 Visual Studio 上创建 ETL,但是当我将数据导出到 Excel 上的表格时,列似乎有点短。有没有办法从 Visual Studio 自动调整列宽?谢谢
更新 1
这是我复制的代码以及我得到的错误
【问题讨论】:
标签: sql-server excel ssis etl column-width
您可以使用在DataFlow Task 成功后执行的script task 来实现此目的。您必须将Microsoft.Office.Interop.Excel 程序集添加到脚本任务引用并使用以下代码: (使用 Vb.Net)
注意:您必须将 Microsoft.Office.Interop.Excel.dll 文件添加到以下目录(.Net Framework dll 目录)C:\Windows\Microsoft.NET\Framework\v2.0.50727 和(sql服务器数据工具 dll 目录)C:\Program Files\Microsoft SQL Server\100\DTS\Binn(使用 vs 2005 和 sql 2008)然后将此 dll 添加为脚本任务中的引用
Imports Microsoft.Office.Interop
Public Sub Main()
Dim strFile as String = "C:\New Folder\1.xls"
Dim m_XlApp As New Excel.Application
Dim m_xlWrkbs As Excel.Workbooks = m_XlApp.Workbooks
Dim m_xlWrkb As Excel.Workbook
m_xlWrkb = m_xlWrkbs.Open(strFile)
'Loop over all worksheets
For Each m_XlWrkSheet As Excel.Worksheet In m_xlWrkb.Worksheets
'Columns
m_XlWrkSheet.UsedRange.Columns.AutoFit()
'Rows
m_XlWrkSheet.UsedRange.Rows.AutoFit()
Next
m_xlWrkb.Save()
m_xlWrkb.Close(SaveChanges:=True)
m_XlApp.Quit()
End Sub
【讨论】:
c:\new folder\..