2013-04-09 2 views
0

Я хочу обновить конкретную ячейку файла excel с помощью oledb. Скажем, ячейка I7, по какой-то причине всегда I1 обновляется. Может ли кто-нибудь сказать мне, что не так с этим кодом?Обновить конкретную ячейку файла excel с помощью oledb

OleDbConnection oledbConn = new OleDbConnection(connString); 
oledbConn.Open(); 

// I want to set the value of I7 cell to 22, for some reason value is I1 is getting updated :(
OleDbCommand cmd = new OleDbCommand("UPDATE [" + sheetName + "$I7:I7] SET F1=22", oledbConn); 
int result = cmd.ExecuteNonQuery(); 
Console.WriteLine(result); 
oledbConn.Close(); 
+0

У вас есть фильтры для фильтров? –

+0

Спасибо за ваш ответ. Фильтры не установлены. –

ответ

1

Я запускал ту же программу на Excel 2007, она работала плавно. Для excel 2013 он не работает. Кажется, что ошибка в excel 2013.

1

Это может быть просто проблема с используемой вами схемой адресов ячеек. Попробуйте $I$7:$I$7 intsead. Кроме того, что это такое: F1 вещь в запросе?

+0

Получение этой ошибки сейчас - механизм базы данных Microsoft Office Access не смог найти объект «Sheet1 $ I $ 7: $ I $ 7». Убедитесь, что объект существует, и вы правильно назовете его имя и имя пути. F1 - номер ячейки в выбранном диапазоне –

+0

Отсутствие восклицательного знака (!) После названия листа. – dotNET

+0

Так вы обновляете I7 или F1? – dotNET

Смежные вопросы