在 Excel 裡執行 Linux (★
111 分)
Linux In Excel 利用 C 語言編譯出的 DLL 搭配 Excel 的 VBA 宏,借助 mini-rv32ima emulator,將模擬器當成外部函式庫載入後,由 VBA 呼叫並將命令列輸出逐行寫入儲存格,達成在 Excel 當終端機執行 Linux 的效果。專案原作者表示這個做法相當崩潰且充滿 BUG,但因為純粹為了好玩,未打算把模擬器完整重寫成 VBA 或試算表公式,只要能在 Excel 裡跑起來就算成功。
在建置與執行上,作者透過 MSVC(Microsoft Visual C++)編譯 DLL 檔,只要執行 `cl dllmain.c
/LD /Fefun.dll` 就能產出 fun.dll,再在 Excel 試算表中指定該 DLL 路徑。使用者可在 C2 儲存格輸入文字作為輸入,VBA 讀取後傳給模擬器並將回傳結果顯示在試算格內。不過因為全程仰賴原生 DLL,僅能在 Windows 桌面版 Excel 執行,無法在 Mac、Web 版或 Excel 雲端應用上使用。
社群對此充滿玩味與挑剔。有評論認為這樣只是把 Excel 當成終端機而已,真正有趣的是直接在試算表公式層面模擬 CPU;也有人指出若要在 Linux 執行 Excel,其實可透過 Wine(Windows 兼容層)跑舊版 Excel;LibreOffice Calc 反而因不支援 32-bit DLL 而無法複現此招。對純技術挑戰感興趣的評論者則提到 O365 新的 JavaScript API 有機會做成「雲端無伺服器 (serverless)」版插件。
討論中不乏各種 X on Y 的玩笑延伸:有人好奇能不能在試算表用 bash 腳本當公式、載入 WINE 甚至再跑一層 Excel;也有人提案試算表跑 DOOM、Lotus 1-2-3 等懷舊軟體,凸顯駭客社群喜歡在最不合常理的場域證明「只要想得到,就能做到」。整體而言,Linux In Excel 雖然缺乏實用性,卻充分展現了試算表駭客的瘋狂創意與幽默感。
👥
42 則討論、評論 💬
https://news.ycombinator.com/item?id=43840861