将数据表中的列从第一个移动到最后一个

Fra*_*ank 3 vb.net datatable

我有一个sql存储过程,它返回我的数据表中的某组列.
在将数据表导出到Excel之前,如何将第一个位置的列移动到最后一个位置(比方说)?

Dim myConn As New SqlConnection(strConnection)
Dim myCmd As New SqlCommand(strSQL, myConn)
Dim dt As DataTable = New DataTable()
Dim da As SqlDataAdapter = New SqlDataAdapter(strSQL, myConn)
da.Fill(dt)

Dim excelPackage = New OfficeOpenXml.ExcelPackage
Dim excelWorksheet = excelPackage.Workbook.Worksheets.Add("ProjectStatusReports")
excelWorksheet.Cells("A3").LoadFromDataTable(dt, True)
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 10

这会将第一列的位置更改为最后一列DataTable:

dt.Columns(0).SetOrdinal(dt.Columns.Count - 1)
Run Code Online (Sandbox Code Playgroud)

在寻址的序数位置之前的列都减少了一个时隙,以便为定位的改变腾出空间.