Sto prendendo dati di Excel in DataTable ma sta prendendo il nome di colonna di Excel come prima riga di dati in DataTable. Quindi aiutami a impostare la prima riga di Excel come colonne in DataTable. PS: sto usando lo spazio dei nomi Microsoft.Offfice.Interop.Excel e System.Data.DataTable Questo è il mio codice:
connExcel.Open(); cmdExcel.CommandText = "SELECT * From [" + SheetName + "]"; oda.SelectCommand = cmdExcel; new System.Data.OleDb.OleDbDataAdapter(cmdExcel).Fill(dt); connExcel.Close();
Sto ottenendo tutti i dati del foglio Excel specificato in DataTable dt ma sta prendendo i nomi delle colonne di Excel come prima riga di dati in Datatable
Per cambiare il nome di una colonna, usa 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");
Ehi, puoi fare quanto segue, disabiliterà il prendere l’intestazione dalla cartella di lavoro di 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""")
Modificare l’HDR su No nella stringa di connessione
DataTable tab = new DataTable(); for (int i = 0; i < tab.Columns.Count; i++) { tab.Columns[i].Caption = "example" }