Excel

Делитесь модулями
  • Я правильно понимаю, что если мне необходимо добавлять данные в Excel файл, то достаточно воспользоваться действием "Вставить строки" в модуле?
    Просто, кажется, что модуль не дописывает файл, а переписывает полностью, за счет чего, если файл растёт в размере хотя бы до 200 Кб. то работа становится ну оооооочень медленной.
    Прикрепляю тестовый скрипт.
    Модуль не может обработать и 2000 строк... Ну или я рукожопый....
    Первые 200-300 строк записываются за несколько секунд. На следующие 200-300 строк уже уходят минуты.
    Тестовый скрипт estexcel.xml
    Не, если собирать минимум данных. то может и огонь, но вот если парсить товары из магазинов с 50 параметрами, то не получается.

  • @perhorovich, вот estexcel.xml, у меня вставка 2000 строк занимает 50 сек, если оставлять ваши счетчики то 2 мин

  • @GhostZ О! Круто! Спасибо за ответ. Значит пора своё железо в топку... У меня заняло 20 минут... Первые строки норм, потом "захлёбуется"... Вот так сделаешь "на заказ", получит человек такую же ошибку, а виноват исполнитель, а по факту железно дрянь... Скорее всего жесткий диск стерся...

  • @perhorovich, вы проверьте прикрепленный файл

  • @GhostZ Дак я же говорю, спасибо, что проверили. У меня так не выходит, значит дело в "железе".

  • @perhorovich, а не тот файл прикрепил, исправил

  • @support Здравствуйте, работаю с эксель в БАС с 23 версии, мои потоки записывают туда результаты работы. все было отлично, перешел на 24 версию и эксель выдает теперь такую ошибку Поток завершился с сообщением "Error: Corrupted zip or bug: unexpected signature (\xDF\x5F\xE7\x9F, expected \x50\x4B\x03\x04)" причем сам файл эксель приходится востанавливать, на данном листе около 7000 строк всего лишь. эта ошибка появляется не сразу а через несколько часов работы с файлом. В чем может быть проблема ?

  • Как оптимально взаимодействовать с данным модулем в многопоточности? Лочит ли он потоки или нужно самому это предусмотреть?

  • @Antonz, пример работы в многопотоке ExcelMultithreadTest.xml

  • @GhostZ

    @GhostZ said in Excel:

    @GhostZ said in Excel:

    @UserTrue, сделаю небольшое обновление ексель модуля

    • Новая версия модуля: Excel.zip

    • Добавлена возможность отключить автоматическое преобразование данных и смену формата ячейки
    • Пофикшена вставка строк на очищенный в ручную лист

    • Для работы модуля на BAS ниже версии 24.1.0 нужно установить вспомогательный модуль CommonCode.zip

    Так-же ошибка TypeError: Cannot read property 'type' of undefined будет если указать путь к ячейке русской С или А будет выбивать ошибку, потерял на этом час, возможно кому-то поможет. )

  • Не нашел в модуле вставки столбца, задача: проверять данные за какое число есть (столбец), и если за сегодня нет, то добавлять новый столбец.

  • @GhostZ Приветствую! Подскажите пожалуйста как вставить многострочный текст в 1 ячейку?
    Если я выполняю действие Запись в ячейку, то все пишется в 1 ячейку.

    а вот если сделать Вставить строки, то текст начинает переноситься (изображение_2022-03-30_113453.png

    я просто не понимаю как иначе писать каждый раз в правильную ячейку)

  • @mangol1167 said in Excel:

    @GhostZ Приветствую! Подскажите пожалуйста как вставить многострочный текст в 1 ячейку?

    Попробуйте использовать действие "Шаблон"

  • @mangol1167, использовать двумерный массив [ ["Текст"] ] или [ [ [[ПЕРЕМЕННАЯ]] ] ] с типом поля expression

  • Вот такая ошибка бывает, Error: EBUSY: resource busy or locked, open. 5 действий с таблицей на любом может выдать. Закрывать фаил после каждого действия?

  • This post is deleted!
  • @val2020, это значит что файл уже открыт в какой-то программе и запись не возможна, вы все ещё можете читать файл, но не изменять.

    Скорей всего этот файл у вас открыт в эксель, просто закройте файл во время работы скрипта.

    Закрывать файл после каждого действия не лучшая идея, так как закрытие и открытие это ресурсоемкий и время затратный процесс.

  • При работе с модулем Exel возникает проблема: при попытке что-то записать в ячейку появляется ошибка
    ReferenceError: Can't find variable: _avoid_nilb во время выполнения действия 101210847

    дело в том что этой переменной _avoid_nilb нигде нет, и в скрипте только это действие (т.е. ошибка точно не в логике а в БАС модуле)

    кто сталкивался и знает решение?

  • @CheshireCat, @GhostZ said in Excel:

    @GhostZ said in Excel:

    • Для работы модуля на BAS ниже версии 24.1.0 нужно установить вспомогательный модуль CommonCode.zip
  • А есть возможность сменять цвета ячеек?