что-то не могу сообразить как изменить значения в некоторых ячейках xls-файла
делаю так:
Конвертер = СоздатьОбъект("КонвертерExcel");
Книга = Конвертер.Открыть(ФайлЭксель);
ЛистРасход = Книга.ЗагрузитьЛист("Расход");
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
номСтроки = Сред(СокрЛ(Ячейка), 2);
номСтолбца = ДатаЧисло(ДатаДок) + 5;
облРасход = ЛистРасход.Область(номСтроки, номСтолбца, номСтроки, номСтолбца);
_расход = Окр(Расход/1000, 2);
облРасход.Текст = _расход;
КонецЦикла;
т.е. открываю, получаю нужный лист, нужную ячейку
как теперь сохранить файл с изменениями?
или я изначально не так делаю?
Йоксель » Главный форум
Изменить значение ячейки в xls
(11 posts)-
Отправлено 17 года(лет) назад #
-
Загрузчик из Excel работает только на чтение - изменить часть существующего файла Excel нельзя. Можно только создать полностью новый Excel-файл. Если все же нужно изменить существующий, то надо переименовать существующий файл, загрузить оттуда листы, модифицировать что нужно, и записать новый файл.
Вот здесь есть соображения, почему так сделано: http://yoksel.net.ru/FAQ
Отправлено 17 года(лет) назад # -
хм. вопщим примерно, как я предполагал...
а вот "Невозможно загрузить лист: Неверный формат файла (Неожиданный конец потока)" из-за чего возникает?
Отправлено 17 года(лет) назад # -
а вот "Невозможно загрузить лист: Неверный формат файла (Неожиданный конец потока)" из-за чего возникает?
Где-то косяк в excel-reader'е. Зашли проблемный файл мне на uzhast1c@gmail.com или выложи здесь - можно будет поковырять.
Отправлено 17 года(лет) назад # -
Да, нашел глюк - в следующем обновлении будет исправление. Спасибо за присланный файл. Жаль конечно, что без формул Йоксель тебе не пригодится, но хоть глюк исправили :)
Отправлено 17 года(лет) назад # -
а поддержка формул вообще реальна?
как я понял, без проблем можно что-то изменить в ячейке через Excel.Apllication
но для этого нужен установленный эксель, либо мудрить с опен-оффисом, и делать поддержку обоих :( что не есть хорошо
хотелось обойтись независимой ВϜnОтправлено 17 года(лет) назад # -
а поддержка формул вообще реальна?
Реальна, но геморна. Даже в OO, у которого с поддержкой Excel все довольно неплохо, не все формулы поддерживаются. Есть, правда, кое-какой обходной путь, но тут еще копать надо (т.е. если и будет, то не скоро).
А почему бы тебе вообще без формул не обойтись? Рассчитывай все результаты в 1С и сохраняй готовые результаты в Excel?
Отправлено 17 года(лет) назад # -
в этом и был смысл =) просто несколько значений выгрузить, а все остальное расчитывается экселем.. да и есть связи еще и с другими файлами..
переносить формулы, связь с ячейками - жуть ;)
а через Excel.Apllication, например, 15 строк кода всего получается ;)Отправлено 17 года(лет) назад # -
Oleg
немного не по теме, но может знаешь\подскажешь, как через Excel.Apllication добавляется примечание к ячейке?
Отправлено 17 года(лет) назад # -
но может знаешь\подскажешь, как через Excel.Apllication добавляется примечание к ячейке?
К сожалению, не знаю :)
Отправлено 17 года(лет) назад # -
Экс = СоздатьОбъект("Excel.Application");
ФайлЭкс = Экс.Workbooks.Open(ФайлЭксель);
Лист = ФайлЭкс.Worksheets(1);
Лист.Cells(номСтроки,номСтолбца).Value = 123;
Лист.Cells(номСтроки,номСтолбца).ClearComments();
Лист.Cells(номСтроки,номСтолбца).AddComment("типа примечание");вот как то так оказалось =)
Отправлено 17 года(лет) назад #
Отправить сообщение
Вы должны войти в систему, чтобы оставлять сообщения.