Редактирование excel с помощью ошибки типа пропущенного совпадения C# OLEDB
Привет,
Я пытаюсь обновить файл excel с помощью c# oledb way.
У меня есть несколько файлов excel. Один из них не имеет никаких проблем, и я могу обновить его так, как хочу.
Но в других файлах excel у меня есть какой-то столбец missmatch.
Я хочу обновить ячейку как строку, но ее тип-это число ( в Excel), поэтому я получаю ошибку несоответствия для этого.
Я смотрю на форумы и вижу, что IMEX=1 может решить эту проблему.
Но когда я добавляю IMEX=1, я получаю эту ошибку :
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll Additional information: Operation must use an updateable query.
Вот мой кодовый блок :
string excel = String.Format("UPDATE {0} SET F1='{1}'", shtsrg,exres); string exceltwo = String.Format("UPDATE {0} SET F1='{1}'", shtsrgtwo, exrestwo); OleDbConnection baglans = new OleDbConnection(); baglans.ConnectionString = @"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + yeniDosya + "; Extended Properties = 'Excel 8.0; HDR=NO'"; baglans.Open(); OleDbCommand cmds = new OleDbCommand(excel, baglans); cmds.ExecuteNonQuery(); baglans.Close(); OleDbConnection baglanstwo= new OleDbConnection(); baglanstwo.ConnectionString = @"Provider = Microsoft.ACE.OLEDB.12.0; Data Source = " + yeniDosya + "; Extended Properties = 'Excel 8.0; HDR=NO; IMEX=1'"; baglanstwo.Open(); OleDbCommand cmdstwo = new OleDbCommand(exceltwo, baglanstwo); cmdstwo.ExecuteNonQuery(); baglanstwo.Close();
Я использовал 2 соединения только для того, чтобы посмотреть, в чем проблема. Я обновляю 2 колонки. С 1. соединением у меня нет никаких проблем. У меня проблема со вторым.
Есть ли вообще возможность изменить тип данных ячейки excel без Imex ? Или что-нибудь решить обновляемую ошибку запроса ?
Что я уже пробовал:
Imex=1 не решает мою проблему и дает другую.