Надстройка для MS Excel

Уважаемые пикабушники, хочу представить Вам надстройку для MS Excel, которую я развиваю в свободное время как пет-проект.

Надстройка для MS Excel Microsoft Excel, Надстройка, Полезное, Длиннопост

Исходный код проекта и инструкции по установке и использованию опубликованы на GitHub под лицензией MIT (неограниченное право на использование, копирование, изменение).


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

Ниже приведу краткое описание некоторых функций.

Конвертация чисел, форматированных как текст


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


Ниже пример преобразования чисел при помощи надстройки. Столбец B для примера заполнен формулой "=A2+1", которая демонстрирует, является ли значение слева числом:

Надстройка для MS Excel Microsoft Excel, Надстройка, Полезное, Длиннопост

Переключение регистра текста


В MS Word есть удобная функция, доступная по Shift+F3, которая переключает регистр выделенного текста (в последовательности "Sentence case" -> "lowercase" -> "UPPERCASE"). Иногда такой функции не хватает и в Excel, но надстройка восполняет этот пробел:

Надстройка для MS Excel Microsoft Excel, Надстройка, Полезное, Длиннопост

Очистка текста от пробельных символов


Позволяет очистить текст от пробелов в начале и конце значения, а также от повторяющихся пробелов и переносов строки в середине текста:

Надстройка для MS Excel Microsoft Excel, Надстройка, Полезное, Длиннопост

Интерактивный поиск ячеек, в которых произошла ошибка вычисления


Показывает список всех ячеек с ошибкой (например, "#Н/Д"), и позволяет быстро перемещаться к выбранной ячейке:

Надстройка для MS Excel Microsoft Excel, Надстройка, Полезное, Длиннопост

И другие функции:


- Подсветка дублей (разными цветами группы одинаковых значений)

- «Размерживание» объединенных ячеек с их заполнением

- Снятие пароля с защищённой книги и листов

- Экспорт таблицы в markdown

- Проверка значений в выделенном диапазоне ячеек (числа, даты, корректный ИНН ЮЛ/ФЛ и т.д.)


Также есть функции по работе с XML, не относящиеся напрямую к Excel, но в которых иногда возникает потребность, а инструмента, который бы свободно распространялся и вызывал доверие, у меня сходу найти не получилось:


- Сформировать пример XML файла на основе XSD-схемы

- Проверить XML по XSD-схеме


Установка надстройки


Для автоматической сборки установочных файлов настроена сборка в Azure.

Выберите последнюю по времени успешную сборку пайплайна NavfertyExcelAddIn - Publish и скачайте опубликованные файлы:

Надстройка для MS Excel Microsoft Excel, Надстройка, Полезное, Длиннопост

Важный момент: при установке надстройки Excel "запоминает" путь к папке, из которой она была установлена, и в будущем установка обновлений будет возможна только из этой папки, в противном случае нужно будет воспользоваться "установкой и удалением программ" через Панель управления Windows.


Для установки надстройки нужно запустить файл .vsto. Разумеется, установка возможно только при наличии установленного MS Excel =)


Если всё сделано правильно, то Вы увидите новую вкладку при следующем запуске Excel:

Надстройка для MS Excel Microsoft Excel, Надстройка, Полезное, Длиннопост

Если Вы .NET-разработчик и хотите присоединиться к работе над проектом, пишите мне на почту (указана в профиле гитхаба), заводите issue и пулл-реквесты.

Если Вы только изучаете платформу .NET, и хотите поучаствовать - не стесняйтесь! Читайте исходный код, задавайте вопросы, если что-то непонятно - буду рад объяснить и поделиться знаниями =)

Еще раз ссылка на проект (там же инструкции по использованию и установке):

https://github.com/navferty/NavfertyExcelAddIn

MS, Libreoffice & Google docs

719 постов15K подписчик

Добавить пост

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


Важно - сообщество призвано помочь, а не постебаться над постами авторов! Помните, не все обладают 100 процентными знаниями и навыками работы с Office. Хотя вы и можете написать, что вы знали об описываемом приёме раньше, пост неинтересный и т.п. и т.д., просьба воздержаться от подобных комментариев, вместо этого предложите способ лучше, либо дополните его своей полезной информацией и вам будут благодарны пользователи.

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

Вы смотрите срез комментариев. Показать все
1
Автор поста оценил этот комментарий

На офисный маркетплейс не хотите выложить свое творение? Обычно больше доверия к ПО из маркетплейса.

раскрыть ветку (7)
Автор поста оценил этот комментарий

Если речь об этом:

https://appsource.microsoft.com/en-us/marketplace/apps?produ...


То в этом магазине собраны другие надстройки (Office Apps), которые подходят только для современных версий офиса (например, Office 365 или его веб-версия). Они основаны на другом принципе (являясь веб-приложением), используют другой язык программирования (JavaScript). В свое время немного экспериментировал с ними, и думаю, что за ними будущее - но пока технология еще развивается, API существенно меняется. Поэтому пока что придерживаюсь более старой технологии - VSTO. Для них возможности публикации в официальных маркетплейсах я не знаю - если Вы в курсе, буду благодарен если просветите))

раскрыть ветку (6)
Автор поста оценил этот комментарий

Вот оно как, думал что это vsto перелицованные и упакованные...

раскрыть ветку (3)
Автор поста оценил этот комментарий

Вообще штука очень любопытная! Правда там Microsoft продвигает парадигму о том, что под отдельную функцию следует создавать отдельную надстройку (и тут микросервисы, да)))

Года полтора назад перенёс туда одну из функций (подсветку дублей) ради эксперимента, в целом подход понравился. Фактически надстройка представляет собой веб-сайт, который открывается в iframe веб-версии офиса в браузере (или в чем-то вроде WebView в десктопной версии), а для JS предусмотрен свой API для взаимодействия с листами, ячейками и остальными объектами. Конечно, всё асинхронно, но думаю await всех спасёт))

раскрыть ветку (2)
Автор поста оценил этот комментарий

Получается, эти надстройки из маркетплейса будут работать и в веб-версии офиса?

раскрыть ветку (1)
Автор поста оценил этот комментарий

Да, должны работать

Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий

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

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку