Йоксель » Главный форум

Изменить значение ячейки в xls

(11 posts)
  1. что-то не могу сообразить как изменить значения в некоторых ячейках xls-файла
    делаю так:

    Конвертер = СоздатьОбъект("КонвертерExcel");
    Книга = Конвертер.Открыть(ФайлЭксель);
    ЛистРасход = Книга.ЗагрузитьЛист("Расход");
    ВыбратьСтроки();
    Пока ПолучитьСтроку() = 1 Цикл
    номСтроки = Сред(СокрЛ(Ячейка), 2);
    номСтолбца = ДатаЧисло(ДатаДок) + 5;
    облРасход = ЛистРасход.Область(номСтроки, номСтолбца, номСтроки, номСтолбца);
    _расход = Окр(Расход/1000, 2);
    облРасход.Текст = _расход;
    КонецЦикла;

    т.е. открываю, получаю нужный лист, нужную ячейку
    как теперь сохранить файл с изменениями?
    или я изначально не так делаю?

    Отправлено 17 года(лет) назад #
  2. Загрузчик из Excel работает только на чтение - изменить часть существующего файла Excel нельзя. Можно только создать полностью новый Excel-файл. Если все же нужно изменить существующий, то надо переименовать существующий файл, загрузить оттуда листы, модифицировать что нужно, и записать новый файл.

    Вот здесь есть соображения, почему так сделано: http://yoksel.net.ru/FAQ

    Отправлено 17 года(лет) назад #
  3. хм. вопщим примерно, как я предполагал...

    а вот "Невозможно загрузить лист: Неверный формат файла (Неожиданный конец потока)" из-за чего возникает?

    Отправлено 17 года(лет) назад #
  4. а вот "Невозможно загрузить лист: Неверный формат файла (Неожиданный конец потока)" из-за чего возникает?

    Где-то косяк в excel-reader'е. Зашли проблемный файл мне на uzhast1c@gmail.com или выложи здесь - можно будет поковырять.

    Отправлено 17 года(лет) назад #
  5. Да, нашел глюк - в следующем обновлении будет исправление. Спасибо за присланный файл. Жаль конечно, что без формул Йоксель тебе не пригодится, но хоть глюк исправили :)

    Отправлено 17 года(лет) назад #
  6. а поддержка формул вообще реальна?
    как я понял, без проблем можно что-то изменить в ячейке через Excel.Apllication
    но для этого нужен установленный эксель, либо мудрить с опен-оффисом, и делать поддержку обоих :( что не есть хорошо
    хотелось обойтись независимой ВϜn

    Отправлено 17 года(лет) назад #
  7. а поддержка формул вообще реальна?

    Реальна, но геморна. Даже в OO, у которого с поддержкой Excel все довольно неплохо, не все формулы поддерживаются. Есть, правда, кое-какой обходной путь, но тут еще копать надо (т.е. если и будет, то не скоро).

    А почему бы тебе вообще без формул не обойтись? Рассчитывай все результаты в 1С и сохраняй готовые результаты в Excel?

    Отправлено 17 года(лет) назад #
  8. в этом и был смысл =) просто несколько значений выгрузить, а все остальное расчитывается экселем.. да и есть связи еще и с другими файлами..

    переносить формулы, связь с ячейками - жуть ;)
    а через Excel.Apllication, например, 15 строк кода всего получается ;)

    Отправлено 17 года(лет) назад #
  9. Oleg

    немного не по теме, но может знаешь\подскажешь, как через Excel.Apllication добавляется примечание к ячейке?

    Отправлено 17 года(лет) назад #
  10. но может знаешь\подскажешь, как через Excel.Apllication добавляется примечание к ячейке?

    К сожалению, не знаю :)

    Отправлено 17 года(лет) назад #
  11. Экс = СоздатьОбъект("Excel.Application");
    ФайлЭкс = Экс.Workbooks.Open(ФайлЭксель);
    Лист = ФайлЭкс.Worksheets(1);
    Лист.Cells(номСтроки,номСтолбца).Value = 123;
    Лист.Cells(номСтроки,номСтолбца).ClearComments();
    Лист.Cells(номСтроки,номСтолбца).AddComment("типа примечание");

    вот как то так оказалось =)

    Отправлено 17 года(лет) назад #

RSS экспорт этой темы

Отправить сообщение

Вы должны войти в систему, чтобы оставлять сообщения.