Я создаю утилиту для импорта данных из Excel в базу данных Oracle,
У меня есть фиксированный шаблон для файла excel,
Теперь, когда я пытаюсь импортировать данные с помощью провайдера Jet и инструментов подключения ADO.Net - Ole, я обнаружил следующую проблему: некоторые столбцы не были импортированы, потому что в их столбцах смешанные типы данных [string и номер],
Я искал эту проблему в Интернете и обнаружил, что причина в угадывании типов данных из Excel
Код загрузки:
connection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0};Extended Properties=Excel 8.0;");
string columns = "P_ID, FULL_NAME_AR, job_no, GENDER, BIRTH_DATE, RELIGION, MARITAL_STATUS, NAT_ID, JOB_Name, FIRST_HIRE_DATE, HIRE_DATE, CONTRACT_TYPE, GRADE_CODE, QUALIFICATION";
string sheetName = "[Emps$]";
OleDbCommand command = new OleDbCommand(string.Format("select {0} from {1} where p_id is not null", columns, sheetName), connection);
connection.Open();
dr = command.ExecuteReader();
DataTable table = new DataTable();
table.Load(dr);
Что я должен сделать, чтобы сказать Excel STOP GUESSING и дать мне данные в виде текста?
если нет, можете ли вы помочь мне с какими-либо обходными путями?
заранее спасибо