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

Office 365 *

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

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

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

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

Наверняка каждый 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 мин
Количество просмотров3.1K

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

Читать далее

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

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

В рамках учебного курса основы разработки для Р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 мин
Количество просмотров54K

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Читать далее

Ищем замену 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.4K

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

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

Читать далее

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

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

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

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

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

Читать далее

Microsoft, Activision-Blizzard и будущее игр. Переход на подписку и стриминг усложняет гигантское слияние

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

Самый кассовый фильм года «Лучший стрелок: Маверик» за первый месяц собрал 1 миллиард долларов.

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

Растущая ценность игр привлекает внимание регулирующих органов.

В январе Microsoft, производящая консоль Xbox, согласилась купить Activision-Blizzard, издателя игр, включая франшизу Call of Duty, за 69 миллиардов долларов.

Это крупнейшее приобретение в истории Microsoft и, безусловно, крупнейшее в игровой индустрии.

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