Misplaced Pages

Microsoft Excel

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

This is an old revision of this page, as edited by Brews ohare (talk | contribs) at 21:15, 29 October 2007 (Programming). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Revision as of 21:15, 29 October 2007 by Brews ohare (talk | contribs) (Programming)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Microsoft Excel (Windows)
File:Excel2007.PNG
A typical blank Microsoft Excel 2007 spreadsheet running on Windows Vista.
Developer(s)Microsoft
Stable release12.0.6014.5000 / 2007
Operating systemMicrosoft Windows
TypeSpreadsheet
LicenseProprietary EULA
Websitewww.microsoft.com
Microsoft Excel (Mac OS X)
Developer(s)Microsoft
Stable release2004 v11.3.7 / May 8, 2007
Preview release2008 v12.x
Operating systemMac OS X
LicenseProprietary EULA
Websitewww.microsoft.com

Microsoft Excel (full name Microsoft Office Excel) is a spreadsheet application written and distributed by Microsoft for Microsoft Windows and Mac OS. It features calculation, graphing tools, pivot tables and a macro programming language called VBA (Visual Basic for Applications). It is overwhelmingly the dominant spreadsheet application available for these platforms and has been so since version 5 in 1993, and its bundled as part of Microsoft Office. Excel is one of the most popular microcomputer applications to date.

History

Microsoft originally marketed a spreadsheet program called Multiplan in 1982, which was very popular on CP/M systems, but on MS-DOS systems it lost popularity to Lotus 1-2-3. This promoted development of a new spreadsheet called Excel which started with the intention to, in the words of Doug Klunder, 'do everything 1-2-3 does and do it better' . The first version of Excel was released for the Mac in 1985 and the first Windows version (numbered 2.0 to line-up with the Mac and bundled with a run-time Windows environment) was released 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. The current version for the Windows platform is Excel 12, also called Microsoft Office Excel 2007. The current version for the Mac OS X platform is Microsoft Excel 2004.

File:Excel2.png
Microsoft Excel 2.1 included a runtime version of Windows 2.1

Early in its life 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 was required 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. 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, VisiCalc: the cells are organized in rows and columns, and contain data or formulas with relative or absolute references to other cells.

Excel was the first spreadsheet that allowed 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.

When first bundled into Microsoft Office in 1993, Microsoft Word and Microsoft PowerPoint had their GUIs redesigned for consistency with Excel, the killer app on the PC at the time.

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 has caused Excel to become a target for macro viruses. This was a serious problem in the corporate world 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.

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.

Versions

File:MS excel 97 on windows xp screenshot.png
'Excel 97' (8.0) being run on Windows XP
File:MSExcel.jpg
Microsoft Excel 2003 running under Windows XP Home Edition
File:Excel 2003.png
Excel 2003 icon

Versions for Microsoft Windows include:

  • 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, DEC Alpha, and MIPS)
  • 1995 Excel for Windows 95 (version 7.0) - included in Office 95
  • 1997 Excel 97 - (version 8.0) included in Office 97 (x86 and also a DEC Alpha version)
  • 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
  • Notice: There is no Excel 1.0, in order to avoid confusion with Apple versions.
  • Notice: 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 should show that it was contemporary with Word 7.

Versions for the Apple Macintosh include:

Versions for OS/2 include:

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

File formats

Microsoft Excel up until 2007 version used a proprietary binary file format called Binary Interchange File Format (BIFF) as its primary format. Excel 2007 uses Office Open XML as its primary file format, an XML-based container similar in design to XML-based format called "XML Spreadsheet" ("XMLSS"), first introduced in Excel 2002. The latter format is not able to encode VBA macros.

Although supporting and encouraging the use of new XML-based formats as replacements, Excel 2007 is still backwards compatible with the traditional, binary, formats. In addition, most versions of Microsoft Excel are able to read CSV, DBF, SYLK, DIF, and other legacy formats.

Microsoft Excel 2007 Office Open XML formats

Main article: Office Open XML

Microsoft Excel 2007, along with the other products in the Microsoft Office 2007 suite, introduces a host of new file formats. These are part of the Office Open XML (OOXML) specification.

The new Excel 2007 formats are:

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 due to the file purpose.

Exporting and Migration of spreadsheets

APIs are also provided to open excel spreadsheets in a variety of other 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. Attempts have also been made to be able to copy excel spreadsheets to web applications using comma-separated values.

Programming

An extremely valuable aspect of Excel is the ability to write code using the programming language Visual Basic for Applications (see Visual_Basic_for_Applications). This code is written using an editor viewed separately from the spreadsheet. Manupulation of the spredsheet entries is controlled using objects . With this code any function or subroutine that can be set up in a Basic- or Fortran-like language can be run using input taken from the spreadsheet proper, and the results of the code are instantaneously written to the spreadsheet or displayed on charts (graphs). The spreadsheet becomes an interface or window to the code, enabling extremely easy interaction with the code and what it calculates.

Criticism

Due to Excel's foundation on floating point calculations, the statistical accuracy of Excel has been criticized, as has the lack of certain statistical tools. Excel proponents have responded that some of these errors represent edge cases and that the relatively few users who would be affected by these know of them and have workarounds and alternatives.

Excel incorrectly assumes that 1900 is a leap year. The bug originated from Lotus 1-2-3, and was implemented in Excel for the purpose of backward compatibility. This legacy has later been carried over into Office Open XML file format. Excel also supports the second date format based on year 1904 epoch.

Criticisms of spreadsheets in general also apply significantly to Excel. See Spreadsheet shortcomings.

Errors in Excel 2007

File:Excel-error.PNG
Screen shot of Microsoft Excel 2007 showing the 65,535 display error

On September 22, 2007 it was reported that Excel 2007 will show incorrect results in certain situations. Specifically, for some pairs of numbers with a product of 65,535 (such as 850 and 77.1), Excel will report their product as 100,000. This occurs with about 14.5% of such pairs. In addition, if one is added to this result, Excel will give 100,001. However, if one is subtracted from the original product, the correct result of 65,534 is reported. (Also if it is multiplied or divided by 2, the correct answers 131,070 and 32,767.5 are reported, respectively.)

Microsoft has reported on the Microsoft Excel Blog that the problem exists in the display of six specific floating point values between 65534.99999999995 and 65,535, and six values between 65535.99999999995 and 65,536 (not including the integers). Any calculation that results in one of these twelve values will be displayed incorrectly. The actual value stored and passed to other cells is correct, only the displayed value is wrong. However, some instances, such as rounding the value to zero decimal places, will result in an incorrect value in memory. The error was introduced with changes made to the Excel calculation logic for the 2007 version, and does not exist in previous versions. On October 9, 2007, Microsoft released a fix to the public.

Chris Lomont presented a detailed explanation of the bug, how it was likely caused by changing 16-bit formatting code to 32-bit code, why it only affects 12 values and then only while formatting, and how the hotfix corrects the bug.

See also

References

  1. http://support.microsoft.com/kb/840817/
  2. http://msdn2.microsoft.com/en-us/library/aa140066(office.10).aspx
  3. http://www-unix.oit.umass.edu/~evagold/excel.html
  4. http://www.cof.orst.edu/net/software/excel/no-stats.php
  5. http://www.practicalstats.com/Pages/excelstats.html
  6. http://www.mis.coventry.ac.uk/~nhunt/pottel.pdf
  7. http://support.microsoft.com/kb/214058/EN-US/
  8. http://support.microsoft.com/kb/214326/en-us
  9. http://www.joelonsoftware.com/items/2006/06/16.html
  10. http://groups.google.com/group/microsoft.public.excel/browse_thread/thread/2bcad1a1a4861879/2f8806d5400dfe22?hl=en&
  11. VeroBlog: Excel 2007 bug shows wrong answers to simple multiplications
  12. Microsoft Excel team blog: Calculation Issue Update
  13. Microsoft Excel team blog: Calculation Issue Update (Fix Available)
  14. Chris Lomont's disassembly and analysis of the Excel 2007 bug

External links

Microsoft 365
Microsoft Office
Windows
Mac
Applications
(list)
Desktop
Server
Mobile
Web
Discontinued
Technologies
Related
Categories: