Microsoft Excel входит в состав пакета Microsoft Office и на сегодняшний день Excel является одним из наиболее популярных приложений в мире.
Первая версия Excel предназначалась для Mac и была выпущена в 1985 году, а первая версия для Windows была выпущена в ноябре 1987 года. Lotus не торопилась выпускать 1-2-3 под Windows, и Excel с 1988 года начала обходить по продажам 1-2-3, что в конечном итоге помогло Microsoft достичь позиций ведущего разработчика программного обеспечения. Microsoft укрепляла свое преимущество с выпуском каждой новой версии, что имело место примерно каждые два года. Текущая версия для платформы Windows - это Microsoft Excel 15, также известная как Microsoft Office Excel 2013. Текущая версия для платформы Mac OS X - Microsoft Excel 2011.
В начале своего пути Excel стал причиной иска о товарном знаке от другой компании, уже продававшей пакет программ под названием "Excel". В результате судебного разбирательства действия Microsoft былы признаны незаконными, и Microsoft была обязана использовать название "Microsoft Excel" во всех своих официальных пресс-релизах и юридических документах. Microsoft также решила использовать буквы XL как сокращённое название программы: иконка Windows-программы состоит из стилизованного изображения этих двух букв, а расширение файлов по умолчанию в MS Excel - .xls. В сравнении с первыми табличными процессорами MS Excel представляет множество новых функций пользовательского интерфейса, но суть остается прежней: как и в программе-родоначальнике, VisiCalc, организованные в строки и столбцы клетки-ячейки могут содержать данные или формулы с относительными или абсолютными ссылками на другие клетки.
MS Excel был первым табличным процессором, позволявшим пользователю менять внешний вид таблицы на экране: шрифты, символы и внешний вид ячеек. Он также первым представил метод умного пересчёта ячеек - обновления только ячеек, зависящих от изменённых ячеек: раньше табличные процессоры пересчитывали все ячейки; это делалось либо после каждого изменения (что на больших таблицах долго), либо по команде пользователя (что могло вводить пользователя в заблуждение непересчитанными значениями).
Будучи впервые объединёнными в Microsoft Office в 1993 году, Microsoft Word и Microsoft PowerPoint получили новый графический интерфейс для соответствия MS Excel, главного стимула модернизации ПК в то время.
Начиная с 1993 года, в состав MS Excel входит Visual Basic для приложений (VBA), язык программирования, основанный на Visual Basic, позволяющий автоматизировать задачи Excel. VBA является мощным дополнением к приложению и в более поздних версиях Excel доступна полнофункциональная интегрированная среда разработки. Можно создать VBA-код, повторяющий действия пользователя и таким образом автоматизировать простые задачи. VBA позволяет создавать формы для общения с пользователем. Язык поддерживает использование (но не создание) DLL от ActiveX; более поздние версии позволяют использовать элементы объектно-ориентированного программирования.
Наличие VBA в MS Excel сделала ее таблицы легкой мишенью для макровирусов. И это было серьёзной проблемой до тех пор, пока антивирусные продукты не научились обнаруживать их. Фирма Microsoft, с опозданием приняв меры для уменьшения риска, добавила возможность выбора режима безопасности:
Версии Excel от 5.0 до 9.0 содержат различные "пасхальные яйца", хотя, начиная с версии 10 Microsoft начала принимать меры по их ликвидации.
Microsoft Office Excel 2003
1988 год - Excel 2.0 для Windows
1990 год - Excel 3.0
1992 год - Excel 4.0
1993 год - Excel 5.0 (Office 4.2 и 4.3, также есть 32-битная версия только для Windows NT)
1995 год - Excel 7 для Windows 95 (включён в пакет Microsoft Office 95)
1997 год - Excel 97 (включён в пакет Microsoft Office 97)
1999 год - Excel 2000 (9) - Microsoft Office 2000
2001 год - Excel 2002 (10) - Microsoft Office XP
2003 год - Excel 2003 (11) - Microsof
Версия 1.0 не использовалась, чтобы избежать путаницы с продуктами Apple, которая уже выпускала Excel. MS Excel 6.0 не существует, так как версия Windows 95 поставлялась с Word 7. Все программы Office 95 и Office 4.x использовали OLE 2.0 (автоматическая передача данных между различными программами), и номер версии MS Excel 7 должен был показывать, что он соответствует MS Word 7.
Версия 13 была пропущена из-за суеверности майкрософтовцев. Excel 2010 имеет внутреннюю версию 14.0.
1985 год - Excel 1.0
1988 год - Excel 1.5
1989 год - Excel 2.2
1990 год - Excel 3.0
1992 год - Excel 4.0
1993 год - Excel 5.0
1998 год - Excel 8.0 (Office '98)
2000 год - Excel 9.0 (Office 2001)
2001 год - Excel 10.0 (Office v. X)
2004 год - Excel 11.0 (Office 2004)
2008 год - Excel 12.0 (Office 2008)
2011 год - Excel 14.0 (Office 2011)
1989 год - Excel 2.2
1990 год - Excel 2.3
1991 год - Excel 3.0
Версии Excel до 7.0 были ограничены в возможностях хранения данных, вмещая до 16 384 (2^14) строк. Версии 8.0-11.0 могли справиться с 65 536 (2^16) строк и 256 колонками (2^8). Версии 12.0 и 14.0 обрабатывают до 1 048 576 (2^20) строк и 16 384 (2^14) колонок.
В Microsoft Excel вплоть до 2003 версии включительно, использовался свой собственный бинарный формат файлов (BIFF) в качестве основного. Excel 2007 использует Microsoft Office Open XML в качестве своего основного формата.
Несмотря на то, что Excel 2007 поддерживает и направлен на использование новых XML-форматов в качестве основных, он по-прежнему совместим с традиционными бинарными форматами. Кроме того, большинство версий Microsoft Excel могут читать CSV, DBF, SYLK, DIF и другие форматы.
Microsoft Excel 2007, наряду с другими продуктами Microsoft Office 2007, вводит множество новых форматов файлов. Они являются частью Office Open XML (OOXML) спецификации.
Формат |
Расширение |
Примечания |
Рабочая книга Excel |
.xlsx |
Стандартный формат рабочих книг Excel 2007. В действительности это сжатый ZIP-архив каталога XML документов. Является заменой бывшего бинарного формата .xls, хотя и не поддерживает макросы по соображениям безопасности. |
Рабочая книга Excel с макросами |
.xlsm |
Та же рабочая книга Excel, но с поддержкой макросов. |
Бинарная рабочая книга Excel |
.xlsb |
Та же рабочая книга Excel с макросами, но хранящая информацию в бинарном формате, открывая документы быстрее чем XML. В особенности часто используется для очень больших документов с десятками тысяч строк и/или сотнями колонок. |
Шаблон Excel с макросами |
.xltm |
Шаблон, созданный как основа для рабочих книг, включена поддержка макросов. Заменяет старый формат .xlt. |
Надстройка Excel |
.xlam |
Надстройка Excel, направленная на добавление дополнительных функциональных возможностей и инструментов. |
API позволяет открывать таблицы Excel в ряде других приложений. Это включает в себя открытие документов Excel на веб-страницах с помощью ActiveX или таких плагинов, как Adobe Flash Player. Проект Apache POI представляет Java-библиотеки для чтения и записи электронных таблиц Excel. Также предпринимались попытки копировать таблицы Excel в веб-приложения с использованием разделённых запятыми значений (CSV).
Ценной возможностью Excel является возможность писать код на основе Visual Basic для приложений (VBA). Этот код пишется с использованием отдельного от таблиц редактора. Управление электронной таблицей осуществляется посредством объектно-ориентированной модели кода и данных. С помощью этого кода данные входных таблиц будут мгновенно обрабатываться и отображаться в таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко работать изменять его и управлять расчётами. Эта же возможность увеличивает риск проникновения кода вредоносного ПО в электронные таблицы и подмену данных, что должны иметь ввиду финансисты и экономисты.
Защита Microsoft Excel предоставляет несколько типов различных паролей:
Все пароли, кроме пароля для открытия документа, можно удалить мгновенно, вне зависимости от версии Microsoft Excel, в которой был создан документ. Эти типы паролей в первую очередь служат для коллективной работы над документом. При их использовании документ не шифруется, а в документе сохраняется хэш от установленного пароля. Хотя при использовании пароля для защиты книги документ шифруется на известном пароле "VelvetSweatshop", это не добавляет документу дополнительной защиты. Единственным типом пароля который может помешать злоумышленнику получить доступ к документу является "пароль для открытия", но криптостойкость такой защиты сильно зависит от версии Microsoft Excel, в которой был создан документ.
В Microsoft Excel версии 95 и ранее, "пароль на открытие" преобразовывается в 16-битный ключ, который взламывается мгновенно. В Microsoft Excel 97 / 2000 пароль преобразовывался уже в 40-битный ключ, который на современном оборудовании также может быть взломан очень быстро. К тому же программы для взлома паролей могут перебирать сотни тысяч паролей в секунду, что позволяет не только расшифровать документ, но и найти оригинальный пароль. В Microsoft Excel 2003 / XP ситуация немного улучшилась - пользователь может выбрать практический любой алгоритм шифрования, доступный в системе (CryptoServiceProvider). Но по умолчанию осталась все та же защита Microsoft Excel 97 / 2000. Для пользователей, привыкшим доверять поведению программ по умолчанию, это означает отсутствие стойкой защиты на их документы.
Ситуация кардинально изменилась в Microsoft Excel 2007 - для шифрования стал использоваться современный алгоритм AES с ключом в 128 бит, а для получения ключа применяться 50000 кратное использование хэш-функции SHA1, что уменьшило скорость перебора до сотен паролей в секунду.[8] В Microsoft Excel стойкость защиты по умолчанию была увеличена ещё в 2 раза, благодаря применению уже 100000 кратного SHA1 преобразования пароля в ключ. Вывод: на данный момент стойкую защиту обеспечивает только документы, сохраненные в формате Office 2007 / 2010 с установленным на них стойким "паролем на открытие".
22 сентября 2007 года было сообщено, что в определённых ситуациях Excel 2007 будет показывать неправильные результаты. В частности, для тех пар чисел, чье произведение равно 65535 (например, 850 и 77,1), Excel отобразит в качестве итога 100000. Это происходит с примерно 14,5 % таких пар. Кроме того, если к результату добавить единицу, Excel выведет итог 100001. Однако, если вычесть из итога единицу, на дисплее отобразится правильный результат 65534. (Также, если итог умножить или разделить на 2, будут отображены 131070 и 32767,5 соответственно.)
Microsoft сообщила в блоге Microsoft Excel, что проблема существует в отображении шести конкретных значений с плавающей запятой между 65534,99999999995 и 65535 и шести значений между 65535,99999999995 и 65536 (не включая границ). Любые расчеты, результат которых равен одному из двенадцати значений, будут отображаться неправильно. Фактические данные, хранящиеся и передающиеся в другие ячейки, верны, неверно лишь отображение значения. Ошибка появилась в Excel 2007 и не существует в предыдущих версиях. 9 октября 2007 года Microsoft выпустила патч, исправляющий проблему. Он вошёл и в состав исправлений Service Pack 1.