Я перемещаю свои данные Excel в DataTable с помощью команды oledb. В Excel я не могу увидеть конкретный столбец, но он отображается в DataTable. Я не уверен, если столбцы скрыты в Excel. Я использовал приведенный ниже код для pu sh данных в DataTable. Приведенный ниже код работает практически со всеми файлами.
if ((str1.ToLower().Contains("xlsx")))
{
excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;"
+ @"Data Source=" + FilePath + ";"
+ "Extended Properties='Excel 12.0 XML;IMEX=1;HDR=YES;TypeGuessRows=0;MAXSCANROWS=0;ImportMixedTypes=Text'";
}
if ((str1.ToLower().Contains("xls")))
{
excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"
+ @"Data Source=" + FilePath + ";"
+ "Extended Properties='Excel 8.0;IMEX=1;HDR=YES;TypeGuessRows=0;MAXSCANROWS=0;ImportMixedTypes=Text'";
}
OleDbConnection excelConnection;
excelConnection = new OleDbConnection(excelConnectionString);
if (excelConnection.State == ConnectionState.Closed)
{
excelConnection.Open();
}
DataTable excelDataTable = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string excelSheetName = string.Empty;
DataSet excelDataSet = new DataSet();
excelDataSet.Clear();
excelSheetName = excelDataTable.Rows[0]["TABLE_NAME"].ToString();
OleDbDataAdapter excelAdapter = new OleDbDataAdapter();
OleDbCommand excelCommand = new OleDbCommand();
excelCommand.Connection = excelConnection;
excelCommand.CommandText = "Select * from [" + excelSheetName + "]";
excelAdapter.SelectCommand = excelCommand;
excelAdapter.Fill(excelDataSet);
excelConnection.Close();
Как ограничить скрытые / не отображаемые в Excel столбцы?