
Есть вещи, которые не меняются: бухгалтеры любят Excel, разработчики его терпеть не могут, а энтузиасты регулярно устраивают в этой программе шоу уровня «а давайте Doom запустим в ячейке». Но если вы думали, что видели всё, то встречайте: теперь в Excel можно запустить… Linux. Нет, это не шутка, и да, это работает (ну, почти).
Зачем запускать Linux в Excel
Автор проекта - разработчик под ником NSG650 - не стал скромничать и сразу признался, что сделал это, потому что мог. “Ну и ради фана, конечно”, - добавил он.
В лучших традициях IT-экспериментов, всё начиналось с простой идеи: а что, если взять эмулятор Linux под архитектуру RISC-V, разместить его в DLL, а потом через макросы VBA подружить с Excel? Звучит как рецепт для пятничного вечера, когда хочется удивить коллег и проверить, насколько сильно можно нагнуть офисный софт.
В итоге родился проект LinuxInExcel. Вся соль в том, что Excel здесь выступает не просто как таблица, а как своеобразный терминал. Макросы запускают эмулятор, выводят результат прямо в ячейки, а пользователь может даже отправлять команды в виртуальный Linux. Конечно, до полноценного bash ещё далеко, но базовые команды работают, и это уже успех.
Running Linux in Microsoft Excel
Техническая кухня: как заставить Excel поверить, что он терминал
Если копнуть глубже, то схема следующая: в Excel загружается специальный файл с макросами. Эти макросы через VBA вызывают внешний DLL - внутри него крутится миниатюрный эмулятор mini-rv32ima. Макросы берут ввод пользователя (например, из ячейки C2), передают его в эмулятор, получают вывод и аккуратно раскладывают его по ячейкам - обычно в столбец A. Вроде всё логично.
Вся эта магия работает только на Windows и только в «правильных» версиях Excel (например, Office 2021), потому что макросы и DLL - это не про кроссплатформенность. В облачных или Mac-версиях ничего не выйдет.
Производительность? Ну, скажем так, если вы мечтали о скорости, как у WSL, то это не тот случай. Эмулятор запускается с помощью VBA, который, мягко говоря, не про high performance. Автор честно предупреждает: всё очень багованно, но цели доводить всё до идеала и не стояло.

Поэтому вопрос «зачем?» здесь неуместен. Как и многие подобные проекты, LinuxInExcel - это чистое удовольствие от эксперимента, вызов самому себе и способ развлечься в пятничный вечер. Автор прямо пишет: «Я не планирую развивать проект, практической пользы тут мало. Но если кому-то вдруг понадобится Linux в Excel - пожалуйста, берите и пользуйтесь».
Для кого-то это пример того, как можно использовать стандартные инструменты нестандартно. Для кого-то - просто повод посмеяться и удивиться тому, на что способны современные энтузиасты. А для кого-то - очередное напоминание, что границы возможного проходят там, где заканчивается фантазия.
Проблемы, ограничения и баги
Разумеется, проект не идеален. Во-первых, он работает только на Windows и только в Excel с поддержкой макросов и загрузки DLL. Во-вторых, стабильность оставляет желать лучшего: эмулятор может зависнуть, макросы - вылететь, а ввод - не всегда корректно обрабатывается. В-третьих, поддержка специальных клавиш (например, Esc для Vim) отсутствует, а сложные сценарии с Bash или скриптами пока что не реализованы.
Но, как говорится, «оно и не должно было работать идеально». Всё это - часть шарма подобных проектов: главное, что получилось запустить ядро Linux в таком неожиданном месте, а всё остальное - уже детали.

Если после прочтения у вас зачесались руки и захотелось попробовать - добро пожаловать! Всё, что нужно:
Windows с установленным Office 2021 или аналогичной версией Excel
Скачать файл с макросами и DLL (всё есть на GitHub автора)
Разрешить выполнение макросов (да, это риск, но ради науки - почему бы и нет)
Ввести команду в ячейку C2 и наблюдать магию
Всё остальное - вопрос фантазии и терпения. Если получится запустить что-то необычное, авторы будут только рады: кидайте свои находки в соцсети и делитесь опытом.
Проект быстро разлетелся по профильным форумам и соцсетям. Кто-то восхищается находчивостью авторов, кто-то шутит про «новый уровень боли для айтишников», а кто-то уже строит теории, как бы это интегрировать в корпоративную отчётность. В любом случае, равнодушных не осталось: даже Microsoft, хоть и не прокомментировала проект официально, наверняка где-то в глубине души гордится тем, что её продукт стал площадкой для таких экспериментов.
А, если вам вдруг надоело считать бюджеты или строить графики в Excel - попробуйте запустить в нём Linux. Вдруг это и есть тот самый путь к просветлению?
Комментарии (6)
unreal_undead2
16.05.2025 12:01В DLL неинтересно, вот если бы эмулятор RISC V и минимального железа на арифметике в ячейках и поверх этого Linux...
Skykharkov
16.05.2025 12:01Да эмуляторы, естественно, давно уже в экселе есть. Чудовищная штука этот Эксель... Захватить мир, как два байта переслать, при должном умении. Просто Linux запускать никому не надо на нем.
unreal_undead2
16.05.2025 12:01Так статья скорее не про "надо", а про "потому что можно и прикольно". И в этом плане линукс поверх эмулятора на арифметике в ячейках выглядит
извращённееинтереснее.maxcat
16.05.2025 12:01Вы правы. Тоже зашёл сюда с надеждой увидеть запуск прям в Экселе, а не просто общение с внешней dll
eimrine
Почему именно Risc-V, просто потому что у автора была соответствующая DLL и не было аналогов?
dreams_killer
Тоже интересует этот вопрос! А точнее: "взять эмулятор Linux ... разместить его в DLL" - а чё так можно было?! Интересно было бы почитать/ознакомиться как это сделать.