Как стать автором
Обновить
2.28

Office 365 *

Программный продукт Microsoft

Сначала показывать
Порог рейтинга
Уровень сложности

FastExcelWriter — избавление от проклятия PhpSpreadsheet

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров5.3K

Наверняка каждый php-разработчик, хоть раз сталкивавшийся с чтением или записью Excel-файлов, знает про библиотеку PhpSpreadsheet (в прошлом - PHPExcel). Это мощная библиотека на чистом php, которая позволяет читать, а, главное, создавать Excel-таблицы. И все с ней хорошо, пока работаешь с небольшим набором данных. Но при работе с большими файлами PhpSpreadsheet начинает чудовищно отжирать память, да и производительность резко падает, и php-скрипт, использующий библиотеку, часто просто отваливается по таймауту. И проблема - в архитектуре библиотеки.

Библиотека PhpSpreadsheet, казалось бы, спроектирована очень правильно: листы таблицы, строки, ячейки, прочие сущности - это все классы, стили, форматы и всевозможные свойства тоже состоят из классов. И когда создается таблица, то в памяти создается огромное количество связанных между собой объектов, им задаются свойства, выполняются всевозможные манипуляции, ячейки заполняются данными, всё-всё это держится в памяти, и пишется в файл только в момент сохранения.

И вот однажды, когда ресурсы на генерацию большого Excel-файла превысили все разумные значения, я начал искать альтернативу известной библиотеке. Альтернатива нашлась. В отличие от PhpSpreadsheet, тут все было упаковано в один класс, возможности по форматированию и стилям - скромнее некуда, но зато XLSX-файл создавался в разы быстрее, а потребление памяти было вообще копеечное. А все потому, что тут был реализован совсем иной принцип - данные не накапливались в памяти, а построчно сразу выводились в файл. Вдохновившись этой идеей, я и создал свою библиотеку FastExcelWriter.

Читать далее

Новости

Типовые задачи в Excel: Современные подходы и инструменты

Время на прочтение3 мин
Количество просмотров17K

Python в Excel: сила и удобство в одном инструменте. В статье приведены примеры автоматизации обработки и связывания данных в Excel с помощью Copilot и Python при решении повседневных практических задач.

Читать далее

Автоматизация заполнения должностей в Excel

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.3K

В статье рассмотрим способ, как заполнить должности сотрудников на определенные даты по их ФИО, учитывая все их карьерные перемещения в Excel.

Читать далее

Книга: «Excel с Python и R: раскройте потенциал расширенной обработки и визуализации данных»

Время на прочтение7 мин
Количество просмотров12K
Привет, Хаброжители!

Если вы работаете с данными, то наверняка сталкивались с ситуацией, когда Excel становится вашим лучшим другом и злейшим врагом одновременно. С одной стороны, это удобный и привычный инструмент для работы с таблицами, с другой — его ограничения могут превратить даже простую задачу в настоящий кошмар. Но что, если бы вы могли объединить мощь Excel с гибкостью и возможностями Python и R?

Именно об этом рассказывает новая книга «Excel с Python и R: раскройте потенциал расширенной обработки и визуализации данных».
Читать дальше →

Два пути к автоматизации: как создавать отчеты в Word массово

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3K

В статье рассматриваются два способа массовой генерации однотипных документов: с помощью функции «слияния» в Word и скрипта на Python.

Читать далее

Еще раз про отличия Excel Vba vs OnlyOffice/Р7 офис JavaScript

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.6K

В рамках учебного курса основы разработки для Р7 Офис публикуем самый полный список сравнений в разработке Excel Vba vs OnlyOffice/Р7 офис JavaScript

Читать далее

Шел 2025й год… а BASIC все еще в строю. Современной автоматизации сметчика пост — КС-ки

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров3.9K

Сейчас в программные решения, связанные с IT в строительном секторе, вливаются большие деньги. Появляются новые программные продукты на базе ERP/CRM систем, которые раньше проектировались под маркетинг и продажи, для электронного документооборота (ЭДО) инженеров (ИТР). Частью современной стратегии Заказчиков многих рангов является путь цифровизации бумажного документооборота в пользу электронного, для чего Минстрой РФ старательно разрабатывает и обязывает к внедрению новые форматы электронных файлов типовых форм документов, на база XML. В этих условиях настоящая статья посвящена стыку новых и старых технологий документооборота в строительстве, на примере формирования комплекта закрывающих финансовых документов по типовым Контрактам в Строительстве.
Читать дальше →

Создание первого макроса JavaScript для табличного редактора Р7 офис

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5K

Продолжаем публиковать выдержки из бесплатного курса по разработке в Р7 офис

Что такое макросы?

Макросы — это набор инструкций или команд, которые выполняются автоматически. Они позволяют автоматизировать рутинные задачи и упростить работу с программами. В контексте редактора макросов в Табличном редакторе Р7-Офис, макросы предоставляют возможность автоматически выполнять повторяющиеся операции, такие как форматирование, вставка текста или изменение структуры документа.

Макросы - это так же небольшие скрипты, которые используются для облегчения повседневной работы с различными типами документов. Макросы Р7 используют синтаксис JavaScript и нотацию скриптов API Р7 Document Builder.
Есть несколько причин, по которым Р7 использует JavaScript для макросов:

Читать далее

Отличия разработки на VBA для MS Excel по сравнению JavaScript для Р7-Офис

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6.3K

Публикуется первая глава бесплатного курса основы разработки для Р7 . Дополнительные материалы можно найти вот тут

Особенности разработки в MS Office (Excel)

Базовым средством автоматизации в офисном пакете Microsoft Office, в течение длительного времени (С 1996 года по настоящее время) является скриптовый язык VBA (VisualBasic for Application). C 2007 года VBA не лицензируется для других разработчиков. Согласно статьи в Википедии , посвященной VBA, этот язык является неким упрощенным подмножеством языка VisualBasic.

Рассмотрим некоторые особенности VBA, которые потом будут являться основой для средств автоматизации в Р7:

Читать далее

Мои мысли о Python in Excel

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров17K

22 августа 2023 года компания Microsoft выпустила предварительную версию «Python in Excel». Я разработчик xlwings и автор книги O’Reilly Python for Excel, поэтому мне, разумеется, стало интересно её потестировать. Не следует судить книгу по обложке, поэтому я решил углубиться в изучение и записать обучающий курс LinkedIn Python in Excel: Working with pandas DataFrames. Параллельно я обнаружил много багов и других проблем, после чего отправил отчёты о них в GitHub. На текущий момент они уже или были разрешены, или хотя бы подтверждены/прокомментированы, и это потрясающе. Мне остаётся лишь мечтать, чтобы столь же легко можно было бы сообщать о багах в мире Office.js и VBA.

Так что же я думаю о Python in Excel?

Читать далее

Типизированные массивы должны умереть

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.9K

Хаха :). Не, я серьезно. Позвольте мне объяснить.

Хорошо. Что такое типизированный массив?

Это одна из тех языковых причуд, которые делают VBA таким... я бы сказал, восхитительным.

Читать далее

Автоматизируем создание отчетов в Word с данными из Excel на Python

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров53K

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

Читать далее

VBA, Word: перекрёстные ссылки согласно ГОСТ (убираем из текста паразитные названия «Рисунок..», «Таблица..» и тп)

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров10K

Меня попросили написать статью по поводу известной проблемы с паразитными названиями перекрёстных ссылок в тексте документа MS Word, а именно, когда вы вставляете в текст документа перекрёстную ссылку (меню ссылки/перекрёстная ссылка) Word позволяет вставить либо название типа "Рисунок ..." либо название полностью, что приводит к тексту типа "...на рисунке (Рисунок 10) мы видим..." или ещё более нелепым конструкциям, тогда как согласно ГОСТ необходимо оставлять только номер.

Эту проблему просто решить с помощью небольшого скрипта VBA.

Читать далее, посмотреть код

Ближайшие события

VBA: добавляем в документ Word рисунки из любой папки и формируем подписи к рисункам

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.4K

Недавно коллеги попросили помочь им с оформлением отчёта, в котором должно было быть приложение из кучи рисунков.

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

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

Читать далее

Ищем замену Excel — OnlyOffice/Р7

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров8.4K

Из-за известных всем причин сейчас очень важным стал вопрос импортозамещения западного ПО во всех сферах деятельности, включая деятельность бизнеса. Не в последнюю очередь это касается и программного обеспечения, которым пользуются в наше время практически все - от школьников до пенсионеров, включая, конечно, и сотрудников госструктур и бизнеса, от малого до крупного.

Сегодня речь пойдет об офисных программах. Мы настолько привыкли за много лет работать в известных всем офисных программах фирмы Microsoft, что теперь, когда с лицензионными закупками их ПО, особенно для государства и бизнеса, стало, мягко говоря, «всё плохо», с привычным комфортом офисной работы на привычных «инструментах», можно, казалось бы, попрощаться.

Не всё так печально, если речь идёт о «простом» использовании офисных пакетов, таком как заполнение вручную «стандартных» документов и табличек. Тут отечественное ПО, призванное заместить собой творение «Монстра из Рэдмонда», вполне себе справляется, и даже почти без проблем открывает документы, созданные ранее в MS Office.

А вот в вопросах, касаемых автоматизации ручных процессов, всё не так уж хорошо. Поскольку, чего тут скрывать, большинство нашего офисного ПО — это просто локализованные ответвления зарубежных проектов свободного ПО, и автоматизация в них обычно достаётся по наследству.

Степень доступной автоматизации сильно рознится, но данная статья не о сравнительном анализе возможностей нашего отечественно офисного ПО, а о нашем исследовании возможности повторения функционала из нашей разработки  —  расширения (addon) для «MS Excel» in2sql, в офисном пакете «Р7-Офис» от фирмы «АО «Р7».

Читать далее

Как Visual Basic.NET отлично помогает решать инженерные задачи, связанные с Word и Excel

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.9K

Как язык Visual Basic .NET отлично помогает решать рутинные инженерные задачи, связанные с Word и Excel.

Читать далее

Надстройка импорта банковских выписок 1С в Excel

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров3.2K

Я решил поделиться своей надстройкой, которая умеет импортировать из файлов формата 1С в Excel. Надстройка абсолютно бесплатна и код проект открыт для любознательных.

У меня уже был некий макрос, который импортировал данные из файлов 1С, но это было так сказать "для себя". И вот в один момент я решил сделать, что-то полезное не только мне, но и другим и решил оформить этот макрос в виде надстройки.

Чтобы более грамотно реализовать импорт я решил прочитать собственно что-то вроде стандарта формата.

При импорте из файла проводится некоторая валидация данных файла и, если есть ошибки, то они выводятся в окно ошибок. Я проверил эту надстройку на ряде выписок различных банков и обнаружил, что все ошибки - это поля выписки без значений. Редко, но случалось, что отсутствуют обязательные поля.

Надеюсь, кому-нибудь пригодится.

Читать далее

Из оператора в Data-инженеры: выверка данных через шаблоны Excel

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров4.3K

Всем привет! Меня зовут Ксения, в 2019 году я пришла в СИГМУ оператором по оцифровке ГИС-планшетов с местоположением кабельных линий. В этом материале хочу поделиться своим опытом работы в шаблоне Excel, который помог мне стать экспертом по выверке данных.

Сам шаблон и пошаговые инструкции ниже.

Читать далее

Давно забытый ExecuteExcel4Macro

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.9K

Привет, Хабр!

В этой статье мы описываем макрофункцию ExecuteExcel4Macro, давно забытую и фактически устаревшую функцию, которая, тем не менее, помогла нам автоматизировать процесс подбора, используя только файлы Excel, список кандидатов и библиотеку документов на SharePoint.

Разумеется, это было только временное решение, и мы уже заменили его российским специализированным ПО, автоматизирующим HR-процессы в сфере управления талантами.

Читать далее

Как надстройки Microsoft Visual Studio могут использоваться для взлома

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.2K

Специалисты по ИБ из Deep Instinct утверждают, что инструменты Microsoft Visual Studio для Office (VSTO) всё чаще используются в качестве метода обеспечения сохраняемости и выполнения кода на целевой машине с помощью вредоносных надстроек Office.

Читать далее
1
23 ...