Сложно ли написать Excel

По долгу службы, да и в быту подсел на использование DokuWiki. Для текстов без сложного форматирования самое оно, не LaTex, конечно, но тоже очень и очень ничего. Мне, старому маньяку, такой подход к написанию текста давно нравится.

Что привлекает в Wiki вообще и в DokuWiki в частности:

  1. Автоматическое создание резервных копий. Очень удобная «фишка»: хранится история любых изменений, фактически бесконечная «отмена», в отличае от Word-а, который хранит изменений только до закрытия его самого, любимого
  2. Стили, стили и ещё раз стили! Почему то иногда в Word-е привести текст требуемому шаблону бывает очень и очень проблематично, хотя, разумеется, стили там тоже есть
  3. Раньше серьезным сдерживающим фактором было отсутствие возможности перенести текст на понятную остальным не маньякам платформу, а теперь есть экспорт в OpenOffice, из которого можно переделать текст во что угодно. Тоже касается проверки орфографии — теперь она есть в браузере.
  4. Ссылки, ссылки и ещё раз ссылки! Добро пожаловать в 21-ый век и мир интернета! В Word-е в этом смысле как-то совсем плохо
  5. Картинки хранятся как картинки, а файлы — как файлы. А не нечто невразумительное, что Word переделал по собственному усмотрению
  6. Виртуальное рабочее место. Документы написанные в Wiki доступны ото всюду, где есть интернет. Эта фишка, конечно, опционально, но мини-сервер дома, с резервным копированием и т.д. позволяет спать спокойно.

Да, так вот понадобилось в этой самой DokuWiki выполнить над таблицей простейшие операции: сложить да поделить. Поискав в злачных местах ничего лучше, чем плагин tablemath не нашел. Реализация убогая, но идея понравилась. Вооружившись напильником и молотком переписал плагин целиком, заодно переименовав его в tablecalc.

За каких-то три часа с хвостиком, с перерывом на обед фактически реализовал простенький Excel для табличек DokuWiki. Ограничился набором базовых функций: ссылка на ячейку в стиле Excel, получение диапазона, подсчет кол-ва элементов в диапазоне, сумма и округление. Гораздо интереснее было сделать рекурсивный расчет формул, да выборку из произвольной таблицы, но, как обычно, лень победила…