在 ssis 脚本任务中格式化 excel 目标列
Format excel destination column in ssis script task
是否可以在生成前在 ssis 的 excel 目标中格式化列?我在考虑脚本任务?我想在 excel 电子表格
中将一列格式化为 date/time 格式
您可以使用 Microsoft.Interop.Excel
库并使用 NumberFormat
属性 将 EntireColumn
格式更改为日期时间。
注意:您必须将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.Interop.Excel
Public Sub Main()
Dim m_XlApp = New Excel.Application
Dim m_xlWrkbs As Excel.Workbooks = m_XlApp.Workbooks
Dim m_xlWrkb As Excel.Workbook
m_xlWrkb = m_xlWrkbs.Open("D:.xlsx")
Dim m_XlWrkSheet As Excel.Worksheet = m_xlWrkb.Worksheets(1)
m_XlWrkSheet.Columns(1).NumberFormat = "HH:mm:ss"
'OR
'ExcelWorksheet.Cells(1,1).EntireColumn.NumberFormat = "HH:mm:ss"
m_xlWrkb.Save()
m_xlWrkb.Close(SaveChanges:=True)
Marshal.ReleaseComObject(m_xlWrkb)
Marshal.ReleaseComObject(m_xlWrkbs)
m_XlApp.Quit()
Marshal.ReleaseComObject(m_XlApp)
Dts.TaskResult = ScriptResults.Success
End Sub
参考资料
- Format an Excel column (or cell) as Text in C#? 查看所有答案,不只是已接受的答案
- Interop.Excel - Set date format
- Range.NumberFormat Property
是否可以在生成前在 ssis 的 excel 目标中格式化列?我在考虑脚本任务?我想在 excel 电子表格
中将一列格式化为 date/time 格式您可以使用 Microsoft.Interop.Excel
库并使用 NumberFormat
属性 将 EntireColumn
格式更改为日期时间。
注意:您必须将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.Interop.Excel
Public Sub Main()
Dim m_XlApp = New Excel.Application
Dim m_xlWrkbs As Excel.Workbooks = m_XlApp.Workbooks
Dim m_xlWrkb As Excel.Workbook
m_xlWrkb = m_xlWrkbs.Open("D:.xlsx")
Dim m_XlWrkSheet As Excel.Worksheet = m_xlWrkb.Worksheets(1)
m_XlWrkSheet.Columns(1).NumberFormat = "HH:mm:ss"
'OR
'ExcelWorksheet.Cells(1,1).EntireColumn.NumberFormat = "HH:mm:ss"
m_xlWrkb.Save()
m_xlWrkb.Close(SaveChanges:=True)
Marshal.ReleaseComObject(m_xlWrkb)
Marshal.ReleaseComObject(m_xlWrkbs)
m_XlApp.Quit()
Marshal.ReleaseComObject(m_XlApp)
Dts.TaskResult = ScriptResults.Success
End Sub
参考资料
- Format an Excel column (or cell) as Text in C#? 查看所有答案,不只是已接受的答案
- Interop.Excel - Set date format
- Range.NumberFormat Property