如何在DataTable中设置列名

我将Excel数据导入DataTable,但它将Excel列名称作为DataTable中的第一行数据。 因此,帮助我将Excel的第一行设置为DataTable中的列。 PS:我使用的是Microsoft.Offfice.Interop.Excel和System.Data.DataTable命名空间这是我的代码:

connExcel.Open(); cmdExcel.CommandText = "SELECT * From [" + SheetName + "]"; oda.SelectCommand = cmdExcel; new System.Data.OleDb.OleDbDataAdapter(cmdExcel).Fill(dt); connExcel.Close(); 

我将指定excel表的所有数据都收集到DataTable dt中,但它将Excel列名称作为Datatable中的第一行数据

要更改列名,请使用ColumnName

 DataTable table = new DataTable(); table.Columns.Add("A", typeof(int)); table.Columns.Add("B", typeof(string)); table.Columns[0].ColumnName = "Column A"; table.Columns[1].ColumnName = "Column B"; table.Rows.Add(99, "test row"); 

嘿,您可以执行以下操作,它将禁用从Excel工作簿中获取标题:

  conn = New System.Data.OleDb.OleDbConnection( "provider=Microsoft.ACE.OLEDB.12.0; " & "data source=" & path & "; " & "Extended Properties=""Excel 12.0;HDR=No;IMEX=1""") 

在连接字符串中将HDR更改为否

 DataTable tab = new DataTable(); for (int i = 0; i < tab.Columns.Count; i++) { tab.Columns[i].Caption = "example" }