Я отримую назви аркушів, сортуючи в алфавітному порядку за наступним кодом.
OleDbConnection connection = new OleDbConnection(string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties="Excel 8.0;HDR=No;"", filePath));
OleDbCommand command = new OleDbCommand();
DataTable tableOfData = null;
command.Connection = connection;
try
{
connection.Open();
tableOfData = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string tablename = tableOfData.Rows[0]["TABLE_NAME"].ToString();
tableOfData = new DataTable();
command.CommandText = "Select * FROM [" + tablename + "]";
tableOfData.Load(command.ExecuteReader());
}
catch (Exception ex)
{
}
Я хочу лише прочитати їх з оригінальним замовленням. Будь-яка ідея?
Відповіді:
0 для відповіді № 1Після багатьох пошуків я з'ясував, що "OLEDB" немаєпідтримка аркушів для читання в оригінальному порядку (лише імена аркушів в алфавітному порядку), але є багато способів підтримки імен аркушів для читання в оригінальному порядку з файлу excel.
Допоможе посилання: Читання аркушів у оригінальному порядку з файлу excel,
OLEDB не зберігає порядок аркушів, як вони були в Excel.