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

时间:2011-10-15 19:43:13

标签: 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)

1 个答案:

答案 0 :(得分:10)

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

dt.Columns(0).SetOrdinal(dt.Columns.Count - 1)

在寻址序数位置之前的列都减少了一个插槽,以便为定位的更改腾出空间。