The Full Wiki

Microsoft Excel: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

Microsoft Excel
Microsoft Office Excel Icon
Microsoft Office Excel 2007.png
A typical blank Microsoft Excel 2007 spreadsheet running on Windows Vista.
Developer(s) Microsoft
Stable release 12.0.6425.1000 (2007 SP2) / April 28, 2009
Operating system Microsoft Windows
Type Spreadsheet
License Proprietary
Website Microsoft Office Excel Homepage
Microsoft Excel (Mac OS X)
Excel mac 2008 icon.png
Excel 2008 mac os x leopard.jpg
Microsoft Excel: Mac 2008 spreadsheet running on Mac OS X 10.5.
Developer(s) Microsoft
Stable release 12.2.3 Buid 091001 (2008) / November 10, 2009; 4 month(s) ago (2009-11-10)
Operating system Mac OS X
Type Spreadsheet
License Proprietary
Website Microsoft Excel: Mac 2008

Microsoft Excel (full name Microsoft Office Excel) is a spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables and a macro programming language called VBA (Visual Basic for Applications). It has been the most widely used spreadsheet application available for these platforms since version 5 in 1993[citation needed]. Excel forms part of Microsoft Office.




Excel 2.0

Microsoft originally marketed a spreadsheet program called Multiplan in 1982. Multiplan became very popular on CP/M systems, but on MS-DOS systems it lost popularity to Lotus 1-2-3. Microsoft released the first version of Excel for the Mac in 1985, and the first Windows version (numbered 2.05 to line up with the Mac and bundled with a run-time Windows environment) in November 1987. Lotus was slow to bring 1-2-3 to Windows and by 1988 Excel had started to outsell 1-2-3 and helped Microsoft achieve the position of leading PC software developer. This accomplishment, dethroning the king of the software world, solidified Microsoft as a valid competitor and showed its future of developing GUI software. Microsoft pushed its advantage with regular new releases, every two years or so.

Early in 1993 Excel became the target of a trademark lawsuit by another company already selling a software package named "Excel" in the finance industry. As the result of the dispute Microsoft had to refer to the program as "Microsoft Excel" in all of its formal press releases and legal documents. However, over time this practice has been ignored, and Microsoft cleared up the issue permanently when they purchased the trademark of the other program.[citation needed] Microsoft also encouraged the use of the letters XL as shorthand for the program; while this is no longer common, the program's icon on Windows still consists of a stylized combination of the two letters, and the file extension of the default Excel format is .xls.

Excel offers many user interface tweaks over the earliest electronic spreadsheets; however, the essence remains the same as in the original spreadsheet software, VisiCalc: the program displays cells organized in rows and columns, and each cell may contain data or a formula, with relative or absolute references to other cells.

Excel became the first spreadsheet to allow the user to define the appearance of spreadsheets (fonts, character attributes and cell appearance). It also introduced intelligent cell recomputation, where only cells dependent on the cell being modified are updated (previous spreadsheet programs recomputed everything all the time or waited for a specific user command). Excel has extensive graphing capabilities, and enables users to perform mail merge.

Since 1993 Excel has included Visual Basic for Applications (VBA), a programming language based on Visual Basic which adds the ability to automate tasks in Excel and to provide user-defined functions (UDF) for use in worksheets. VBA is a powerful addition to the application which, in later versions, includes a fully featured integrated development environment (IDE). Macro recording can produce VBA code replicating user actions, thus allowing simple automation of regular tasks. VBA allows the creation of forms and in-worksheet controls to communicate with the user. The language supports use (but not creation) of ActiveX (COM) DLL's; later versions add support for class modules allowing the use of basic object-oriented programming techniques.

The automation functionality provided by VBA made Excel a target for macro viruses. This caused serious problems until antivirus products began to detect these viruses. Microsoft belatedly took steps to prevent the misuse by adding the ability to disable macros completely, to enable macros when opening a workbook or to trust all macros signed using a trusted certificate.

Excel 5.0

Versions 5.0 to 9.0 of Excel contain various Easter eggs, although since version 10 Microsoft has taken measures to eliminate such undocumented features from their products.[1]

Excel 2000

For many users, one of the most obvious changes introduced with Excel 2000 (and the rest of the Office 2000 suite) involved a clipboard that could hold multiple objects at once. In another noticeable change the Office Assistant, whose frequent unsolicited appearance in Excel 97 had annoyed many users, became less intrusive.


Microsoft Windows

  • 1987 Excel 2.0 for Windows
  • 1990 Excel 3.0
  • 1992 Excel 4.0
  • 1993 Excel 5.0 (Office 4.2 & 4.3, also a 32-bit version for Windows NT only on the PowerPC, Alpha, and MIPS architectures)
  • 1995 Excel for Windows 95 (version 7.0) - included in Office 95
  • 1997 Excel 97 - included in Office 97 (for x86 and Alpha). This version of Excel includes a flight simulator as an Easter Egg.
  • 1999 Excel 2000 (version 9.0) included in Office 2000
  • 2001 Excel 2002 (version 10) included in Office XP
  • 2003 Excel 2003 (version 11) included in Office 2003
  • 2007 Excel 2007 (version 12) included in Office 2007
  • Note: No MS-DOS version of Excel 1.0 for Windows ever existed: the Windows version originated at the time the Mac version was up to 2.0.
  • Note: There is no Excel 6.0, because the Windows 95 version was launched with Word 7. All the Office 95 & Office 4.X products have OLE 2 capacity — moving data automatically from various programs — and Excel 7 would show that it was contemporary with Word 7.

Apple Macintosh

  • 1985 Excel 1.0
  • 1988 Excel 1.5
  • 1989 Excel 2.2
  • 1990 Excel 3.0
  • 1992 Excel 4.0
  • 1993 Excel 5.0 (Office 4.X—Motorola 68000 version and first PowerPC version)
  • 1998 Excel 8.0 (Office '98)
  • 2000 Excel 9.0 (Office 2001)
  • 2001 Excel 10.0 (Office v. X)
  • 2004 Excel 11.0 (part of Office 2004 for Mac)
  • 2008 Excel 12.0 (part of Office 2008 for Mac)


  • 1989 Excel 2.2
  • 1990 Excel 2.3
  • 1991 Excel 3.0

Versions of Excel up to 7.0 had a limitation in the size of their data sets of 16K (2^14=16384) rows. Versions 8.0 through 11.0 could handle 65K (2^16=65536) rows and 256 columns (2^8 as label 'IV'). Version 12.0 can handle 1M (2^20=1048576) rows, and 16384 (2^14 as label 'XFD') columns.[2]

File formats

Excel Spreadsheet
Filename extension .xls
Internet media type application/
Uniform Type Identifier[3]
Developed by Microsoft
Type of format Spreadsheet

Microsoft Excel up until 2007 version used a proprietary binary file format called Binary Interchange File Format (BIFF) as its primary format.[4] Excel 2007 uses Office Open XML as its primary file format, an XML-based format that followed after a previous XML-based format called "XML Spreadsheet" ("XMLSS"), first introduced in Excel 2002.[5].

Although supporting and encouraging the use of new XML-based formats as replacements, Excel 2007 remained backwards-compatible with the traditional, binary formats. In addition, most versions of Microsoft Excel can read CSV, DBF, SYLK, DIF, and other legacy formats. Support for some older file formats were removed in Excel 2007 [6]. The file formats were mainly from DOS based programs.

Binary has created documentation of the Excel format.[7]. Since then Microsoft made the Excel binary format specification available to freely download.[8]

XML Spreadsheet

XML Spreadsheet format intoduced in Excel 2002[5] is simple, XML based format missing some more advanced features like storage of VBA macros. Though intended file extensions for this format used by Excel is .xml, the program also correctly handles XML files with .xls extension. This feature is widely used by third-party applications (e.g. MySQL Query Browser) to offer "export to Excel" capabilities without implementing binary file format. The following example will be correctly opened by Excel if saved either as Book1.xml or Book1.xls:

<?xml version="1.0"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 <Worksheet ss:Name="Sheet1">
  <Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="2" x:FullColumns="1"
    <Cell><Data ss:Type="String">Name</Data></Cell>
    <Cell><Data ss:Type="String">Example</Data></Cell>
    <Cell><Data ss:Type="String">Value</Data></Cell>
    <Cell><Data ss:Type="Number">123</Data></Cell>

Standard file-extensions

Format Extension Description
Spreadsheet .xls Main spreadsheet format which holds data in worksheets, charts, and macros
Add-in (VBA) .xla Adds custom functionality; written in VBA
Toolbar .xlb The file extension where Microsoft Excel custom toolbar settings are stored.
Chart .xlc A chart created with data from a Microsoft Excel spreadsheet that only saves the chart. To save the chart and spreadsheet save as .XLS. >XLC is not supported in Excel 2007.
Dialog .xld Used in older versions of Excel.
Archive .xlk A backup of an Excel Spreadsheet
Add-in (DLL) .xll Adds custom functionality; written in C++/C, Visual Basic, Fortran, etc. and compiled in to a special dynamic-link library
Macro .xlm A macro is created by the user or pre-installed with Excel.
Template .xlt A pre-formatted spreadsheet created by the user or by Microsoft Excel.
Module .xlv A module is written in VBA (Visual Basic for Applications) for Microsoft Excel
Workspace .xlw Arrangement of the windows of multiple Workbooks

Office Open XML

Microsoft Excel 2007, along with the other products in the Microsoft Office 2007 suite, introduced new file-formats. These form part of the Office Open XML (OOXML) specification.

The new Excel 2007 formats are:

New Excel 2007 formats
Format Extension Description
Excel Workbook .xlsx The default Excel 2007 workbook format. In reality a ZIP compressed archive with a directory structure of XML text documents. Functions as the primary replacement for the former binary .xls format, although it does not support Excel macros for security reasons.
Excel Macro-enabled Workbook .xlsm As Excel Workbook, but with macro support.
Excel Binary Workbook .xlsb As Excel Macro-enabled Workbook, but storing information in binary form rather than XML documents for opening and saving documents more quickly and efficiently. Intended especially for very large documents with tens of thousands of rows, and/or several hundreds of columns.
Excel Macro-enabled Template .xltm A template document that forms a basis for actual workbooks, with macro support. The replacement for the old .xlt format.
Excel Add-in .xlam Excel add-in to add extra functionality and tools. Inherent macro support because of the file purpose.

Export and migration of spreadsheets

Programmers have produced APIs to open Excel spreadsheets in a variety of applications and environments other than Microsoft Excel. These include opening excel documents on the web using either ActiveX controls, or plugins like the Adobe Flash Player. The Apache POI opensource project provides Java libraries for reading and writing excel spreadsheet files. Attempts have also been made to be able to copy excel spreadsheets to web applications using comma-separated values. ExcelPackage is another open-source project that provides server-side generation of Microsoft Excel 2007 spreadsheets.

Using external data

Excel users can access external data sources via Microsoft Office features such as (for example) .odc connections built with the Office Data Connection file format. These are static snapshots of data, and require either manual or programmatic intervention to update. Excel files themselves may be updated using a Microsoft supplied ODBC driver.

Excel can accept data in real time through several programming interfaces, which allow it to communicate with many data sources such as Bloomberg and Reuters.

  • DDE : Dynamic Data Exchange. Uses the message passing mechanism in Windows to allow data to flow between both instances of Excel and other applications. Although it is easy for users to create such links programming such links reliably that Microsoft, the creators of the system, officially refer to it as "the protocol from hell". [9]In spite of its many issues DDE remains the most common way for data to reach traders in financial markets.
  • Network DDE Extended the protocol to allow spreadsheets on different computers to exchange data. Given the view above, it is not surprising that in Vista, Microsoft discontinued the facility from the operating system. [10]
  • Real Time Data : RTD although in many ways technically superior to DDE, has been slow to gain acceptance, since it requires non trivial programming skills, and when first released was inadequately documented, and initially was not supported by the major data vendors. [11]


Alternatively, Microsoft Query provides ODBC-based browsing within Microsoft Excel.[13]

VBA Programming

The Windows version of Excel supports programming through Microsoft's Visual Basic for Applications (VBA) which is a subset of Visual Basic (in the Mac version, VBA support has been discontinued as of Excel 2008 as the developers did not deem it economical to port the VBA engine natively to the Mac OS X). Programmers may write code directly using the Visual Basic Editor (VBE) which resides in a separate window from the spreadsheet. Programming with VBA allows spreadsheet manipulation impossible with standard spreadsheet techniques.

The most common and easiest way to generate VBA code is by using the Macro Recorder. The Macro Recorder records the mouse and keyboard actions of the user and generates VBA code which is then contained within a macro. These actions can then be utilized again by running the macro. The VBA code of the macro can also be edited in the VBE. Certain features such as loop functions and screen prompts by their own properties cannot be recorded, but must be entered into the VBA module directly by the programmer. Macros can be activated using a button using the form menu, and advanced users can employ user prompts to create an interactive program.

Software errors

Criticisms of spreadsheets in general also apply to Excel. See Spreadsheet shortcomings. Errors specific to Excel include accuracy, date limitations and the (now resolved) Excel 2007 display error.


Due to Excel's foundation on floating point calculations, the statistical accuracy of Excel has been criticized,[14][15][16][17] as lacking certain statistical tools.

Excel MOD function error

Excel has issues with modulo operations. In the case of excessively large results, Excel will return the incorrect answer of #NUM! error.[18][19]

Date problems

Excel incorrectly treats 1900 as a leap year.[20][21] The bug originated from Lotus 1-2-3, and was purposely implemented in Excel for the purpose of backward compatibility.[22] This legacy has later been carried over into Office Open XML file format.[23] Excel also supports the second date format based on year 1904 epoch. The Excel DATE() function causes problems with a year value prior to 1900.[24]

See also


  1. ^ Larry Osterman (October 21, 2005). "Why no Easter Eggs?". Larry Osterman's WebLog. MSDN Blogs. Retrieved 2006-07-29. 
  2. ^ "The "Big Grid" and Increased Limits in Excel 2007". Retrieved 2008-04-10. 
  3. ^ "System-Declared Uniform Type Identifiers". Apple Developer Connection. 2008-04-08. Retrieved 2008-11-10. 
  4. ^ "How to extract information from Office files by using Office file formats and schemas". Microsoft. February 26, 2008. Retrieved 2008-11-10. 
  5. ^ a b "XML Spreadsheet Reference". Microsoft Excel 2002 Technical Articles. MSDN. August 2001. Retrieved 2008-11-10. 
  6. ^ "Deprecated features for Excel 2007". Microsoft — David Gainer. August 24, 2006. Retrieved 2009-01-02. 
  7. ^ "'s documentation of the Microsoft Excel File Format". 2008-08-02. 
  8. ^ "Microsoft Office Excel 97 - 2007 Binary File Format Specification (*.xls 97-2007 format)". Microsoft Corporation. 2007. 
  9. ^
  10. ^
  11. ^
  12. ^ DeMarco, Jim (2008-02-01). Pro Excel 2007 VBA. Berkeley, California: Apress. p. 225. ISBN 978-1-59059-957-0. "External data is accessed through a connection file, such as an Office Data Connection (ODC) file (.odc)" 
  13. ^ William, Wehrs (2000). "An Applied DSS Course Using Excel and VBA: IS and/or MS?" (PDF). The Proceedings of ISECON (Information System Educator Conference). pp. 4. Retrieved 2010-02-05. "Microsoft Query is a data retrieval tool (i.e. ODBC browser) that can be employed within Excel 97. It allows a user to create and save queries on external relational databases for which an ODBC driver is available." 
  14. ^ McCullough, B.D.; Wilson, B. (2002). "On the accuracy of statistical procedures in Microsoft Excel 2000 and Excel XP". Computational Statistics & Data Analysis 40 (4): 713–721. doi:10.1016/S0167-9473(02)00095-6. 
  15. ^ McCullough, B.D.; Heiser, D.A. (2008). "On the accuracy of statistical procedures in Microsoft Excel 2007". Computational Statistics & Data Analysis 52 (10): 4570–4578. doi:10.1016/j.csda.2008.03.004. 
  16. ^ Yalta, A. Talha (2008). "The accuracy of statistical distributions in Microsoft Excel 2007". Computational Statistics & Data Analysis 52 (10): 4579–4586. doi:10.1016/j.csda.2008.03.005. 
  17. ^ Goldwater, Eva. "Using Excel for Statistical Data Analysis — Caveats". University of Massachusetts School of Public Health. Retrieved 2008-11-10. 
  18. ^ "XL: MOD() Function Returns #NUM! Error Value". Microsoft. January 19, 2007. Retrieved 2008-11-10. 
  19. ^ "The MOD bug". Byg Software. Retrieved 2008-11-10. 
  20. ^ "Days of the week before March 1, 1900 are incorrect in Excel". Microsoft. Retrieved 2008-11-10. 
  21. ^ "Excel 2000 incorrectly assumes that the year 1900 is a leap year". Microsoft. Retrieved 2008-11-10. 
  22. ^ Spolsky, Joel (June 16, 2006). "My First BillG Review". Joel on Software. Retrieved 2008-11-10. 
  23. ^ "The Contradictory Nature of OOXML". 
  24. ^ "The xlrd Module". Retrieved 2009-02-25. 

External links


Got something to say? Make a comment.
Your name
Your email address