Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OleDB и Excel. "Непостоянные" функции 
:(
    Опции темы
Nerfair
Дата 25.9.2012, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 11.3.2012

Репутация: нет
Всего: нет



Доброе время суток, есть документ .xls (excel) который открывается в C# с помощью OleDB, и в него добавляется два числа (допустим 3,5 и 7,1).
В .xls документе есть клетка в которой складываются эти два значания  (=sum(A1:A2)).
Позже эта клетка (с суммой) опять считается в C#

Проблема:
После внесения изменений в xls файл с помощью C#/OleDB клетка с суммой из C# не читается.

К чему пришел за время попыток фикса:
Если открыть документ в экселе и ничего не изменяя нажать "сохранить" (либо ctrl+s) то клетка в C# считывается нормально, если оставить без изменений и не сохранять - то нет.  smile 
Проблема еще в том что изначально документ не вызывает никаких ошибок, а после изменения он при закрытии просит сохранить изменения, как буд то
что то менялось. В интернете нашел информацию о так называемых непостоянных функциях (Volatile), но у меня в документе нет ничего похоже на =NOW().

Код

Как вносятся значения в .xls :
                myCommand = new OleDbCommand("UPDATE [Sheet1$A1:A1] SET F1='xxx'", MyConnection);
                myCommand.ExecuteNonQuery();


Как считываются

Код

 myCommand = new OleDbCommand("SELECT * FROM [Sheet1$A3:A3]", MyConnection);
                myReader = myCommand.ExecuteReader();
                while (myReader.Read())
                {
                    resultBox.Text += "\n" + myReader.GetDouble(0);
                }
                myReader.Close();


Кто нибудь сталкивался?


---

Прикрепил архив, invoice.xls закинуть в десктоп smile


Это сообщение отредактировал(а) Nerfair - 25.9.2012, 13:58

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  OleDbExcel.zip 69,30 Kb
PM MAIL   Вверх
dim4an
Дата 25.9.2012, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.8.2012

Репутация: нет
Всего: нет



а вам принципиально нужно использовать OleDB для работы с эксел? Если нет, то рекомендую вам заюзать Aspose Cell, функционал данной библиотеки для работы с ексел документами, гораздо мощнее. Попробуйте посмотреть в ее сторону
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0599 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.