Excel

Делитесь модулями
  • @UserTrue, numberFormat это формат ячейки, например "@" - это текст, а "General"- это общий, подробнее тут.

  • @GhostZ said in Excel:

    @UserTrue, numberFormat это формат ячейки, например "@" - это текст, а "General"- это общий, подробнее тут.

    Ну я как бы знаю его и использовал за долго до появления модуля. И вот в модуле же стоит cell.style("numberFormat", styles); и происходит авто преобразование, как бы сомнительно решение решать за юзера, какой формат нужен

  • @UserTrue, не моё решение, но проблемы не вижу так как если не дата то всегда устанавливается общий формат и из него можно без проблем преобразовать в любой формат действием установки стиля.
    b6962cd4-6048-4525-b0b4-26046f6385d3-image.png

  • @GhostZ said in Excel:

    @UserTrue, не моё решение, но проблемы не вижу так как если не дата то всегда устанавливается общий формат и из него можно без проблем преобразовать в любой формат действием установки стиля.

    Да у меня стоял текстовый стиль в ячейки, а модуль при записи форматирует в число

  • @UserTrue, в будущем добавлю отключение авто преобразования, пока можно указывать значение в виде двумерного массива [ ["24.05"] ], тогда оно не будет преобразовывается.

    70a20613-bff1-4048-af32-fb794f8ddae5-image.png

  • @GhostZ said in Excel:

    [ ["24.05"] ]

    А у меня и был двухмерный массив,
    2021-05-20_025725.png

    Доп:
    А ну да с запись в ячейку работает, а запись на лист нет. У меня был готовый двумерный массив, когда я столкнулся с этим

  • @UserTrue, да в других действиях записи преобразовывает всегда, а какой вообще смысл не прообразовывать такое число?

  • @GhostZ said in Excel:

    @UserTrue, да в других действиях записи преобразовывает всегда, а какой вообще смысл не прообразовывать такое число?

    А это не число, а день и месяц. Ну вот так захотел клиент ))

  • @UserTrue, мда, ясно, ну как доделаю модуль которым сейчас занят сделаю небольшое обновление ексель модуля, а пока можно двумерный массив записывать действием записи ячейки.

  • @GhostZ said in Excel:

    @UserTrue, мда, ясно, ну как доделаю модуль которым сейчас занят сделаю небольшое обновление ексель модуля, а пока можно двумерный массив записывать действием записи ячейки.

    Мне вообще не к спеху, я люблю ноду )) Просто, чтобы знал

  • Будет ли добавлена функция запуска макроса в excel?

  • @fiery said in Excel:

    Будет ли добавлена функция запуска макроса в excel?

    нет ) Модуль не подключается к екселю, а просто читает и редактирует файл.

  • Когда же модуль все таки будет добавлен в BAS? Стоит указывать "в какой версии (номер)" ожидать модуль. Вдруг его забыли добавить, так пользователи смогут напомнить.

  • @Elmore said in Excel:

    Когда же модуль все таки будет добавлен в BAS? Стоит указывать "в какой версии (номер)" ожидать модуль. Вдруг его забыли добавить, так пользователи смогут напомнить.

    Модуль уже давно добавлен в BAS

  • И почему я это понял только после того, как установил отдельный модуль... Невнимательность.

  • @Elmore Все модули, использующие Node.js, по умолчанию отключены и отображаются в конце списка модулей. Может поэтому

  • @Elmore said in Excel:

    И почему я это понял только после того, как установил отдельный модуль... Невнимательность.

    8e2a5ecb-8cb2-4e1c-9b69-9893492dad04-изображение.png

  • @GhostZ said in Excel:

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

    Исправьте действие Вставить строки 9450b60e-0cbf-44eb-854a-581939d57650-image.png
    если в excel перед этим действием нет ни одной строки, то пишет
    TypeError: Cannot read property 'type' of undefined

    если хотя бы 1 ячейка заполнена, то действие нормально начинает отрабатывать. Хотя и на пустой лист она должна нормально добавлять (со строки 0 добавлял, всё равно не добавляет если лист пустой)

  • @Zack9, приложите текстовый скрипт с помощью которого можно повторить ошибку, у меня получить такую ошибку не удалось.

    Скрипт который пробовал: new_sheet.xml
    Итоговый файл: test.xlsx

  • @GhostZ said in Excel:

    у меня получить такую ошибку не удалось

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

    В итоге получается что ошибка вылезает, когда я вручную очищаю лист и пересохраняю xlsx файл в экселе. Даже если пересохранил и выбрал в басе создать такой же xlsx (перезаписать его выходит), то эта ошибка вылезает. Если работать с тем xlsx который БАС с нуля создаёт, тогда да верно отрабатывает. ХЗ почему так, но ладно тогда не критично