Ich verwendete OleDb zum Importieren von Excel-Datei, die 2000 Spalten hat. Mit diesem Code kann ich nur 255 Spalten in meiner DataTable haben. Ich möchte einen anderen Weg oder, wenn möglich, 2000 Spalten zu meiner DataTable bekommen.Importieren von Excel mit 2000 Spalten
DataTable dtExcelRecords = new DataTable();
using (OleDbConnection con = new OleDbConnection(connectionString))
{
con.Open();
DataTable dtSheet = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
List<string> listSheet = new List<string>();
foreach (DataRow drSheet in dtSheet.Rows)
{
if (drSheet["TABLE_NAME"].ToString().Contains("$"))
{
listSheet.Add(drSheet["TABLE_NAME"].ToString());
}
}
string workSheetName = listSheet.FirstOrDefault(x => x.Contains(cCommon.sFDDetailsWorkSheetName));
OleDbCommand cmd = new OleDbCommand(string.Format("SELECT * FROM [{0}]", workSheetName.Trim()), con);
cmd.CommandType = System.Data.CommandType.Text;
OleDbDataAdapter dAdapter = new OleDbDataAdapter(cmd);
dAdapter.SelectCommand = cmd;
dAdapter.Fill(dtExcelRecords);
}
Anstatt Datentabelle versuchen Sie, XML zu verwenden. –
Wie bekomme ich Excel-Datei zu XML-Objekt ohne Verwendung von DataTable @PareshJ – arvind
Sie müssen Schleife hinzufügen, um jede Spalte und ihre Daten zu erhalten. Ich kenne seinen langwierigen Prozess, wird aber definitiv funktionieren. –