я создаю утилиту для импорта данных из Excel в базу данных Oracle,мне нужен обходной путь для Excel Гадания данных проблемы Типы
У меня есть фиксированный шаблон для файла Excel,
Теперь, когда я Я пытаюсь импортировать данные с помощью поставщика Jet и ADO.Net - Ole, я обнаружил следующую проблему: некоторые столбцы не были импортированы, потому что в их столбцах [строка и номер] есть смешанные типы данных,
Я искал эту проблему в Интернете. Я нашел причину guessing data types from 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 СТОП Гадать и дать мне данные как текст?
если нет, можете ли вы помочь мне с любыми обходными решениями?
Заранее благодарен
Как вы импортируете записи от excel to oracle? код пожалуйста? где это не удается? – shahkalpesh
Можете ли вы не просто установить весь столбец как текст в Excel? – Rup
@ shahkalpesh: он не вызывает никаких исключений, он просто игнорирует текстовые данные, потому что он догадывается, что тип данных для столбца является числом из первых 8 записей и возвращает значение null для не числовых значений – Homam