如何在DataTable中设置列名

时间:2017-11-16 10:22:31

标签: c# asp.net c#-4.0

我将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中的第一行数据

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

嘿,您可以执行以下操作,它将禁用从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更改为否

答案 2 :(得分:0)

要更改列名,请使用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");