Excel is a spreadsheet written by '''The Evil Empire''' [http://www.microsoft.com/]. It is a part of their [Microsoft Office] suite of software--a hazardously flawed [http://www.burns-stat.com/pages/Tutor/spreadsheet_addiction.html#excel] part, incidentally. [LV] If the person writing would sign their work, then I would have no problem seeing it left, just as, if you wanted to write something flattering, and sign it, I would expect others who disagreed with you to leave your comments up. As this is a wiki where people are encouraged to add relevant comments, feel free to provide some alternative view on the subject. ''[EKB] I suppose what I objected to was having this as the 1-line unsigned intro at the top of the page. I personally prefer the pages that have a flat-footed and factual intro, like the one-line intro to the [Word] page, with the signed opinions appearing on the rest of the page. But I'll take this page as it is and add a signed opinionated intro! :-) On a side note, I'm sorry you now have to reach Unix via XP. It ain't right.'' [EKB]'s Intro: Excel is the spreadsheet component in [Microsoft Office]. Like other spreadsheet programs, such as [OpenOffice].org's Calc, it is somewhat limited, but very flexible. This can lead to use of spreadsheets when other, and better, tools are available [http://www.burns-stat.com/pages/Tutor/spreadsheet_addiction.html]. However, the flexibility can make it easy to develop quick solutions to problems, and the spreadsheet solution may turn out to be enough to do the job - like Tcl! Excel has a long development history, and (in this author's opinion) is the most stable and usable of the MS Office suite. It has a large suite of functions, is extensible via the VBA scripting language, and the interface has several handy shortcuts (such as double-clicking to copy calculations automatically). Again in this author's opinion, although the calculation aspects of Excel are very closely mirrored in OpenOffice.org, the graph functionality in Excel is currently better than that in OO. ---- Ways to get to .xls data: [DDE]; [COM], especially [tcom]; [CSV]; [ODBC] (there are rumors of faults in the drivers, though); [Victor Wagner]'s xls2csv [http://www.45.free.net/~vitus/software/catdoc/]; xhHtml [http://chicago.sourceforge.net/xlhtml] is a command-line utility that can create XML output; Spreadsheet::ParseExcel [] and related [Perl]-coded modules available through [CPAN]; Christoph Bauer's tclexcel [http://www.rhrk.uni-kl.de/~bauerc/tclexcel.html] or via the wayback machine: [http://web.archive.org/web/20040423070017/http://www-user.rhrk.uni-kl.de/~bauerc/tclexcel.html] ; http://www.greytrout.com; [SYLK]; the [Python]-based http://sourceforge.net/projects/pyxlwriter/ , alleged to be "a port of John McNamara's Perl Spreadsheet:WriteExcel ..."; John Machin's elegantly portable Python-based xlrd [http://www.lexicon.net/sjmachin/xlrd.htm]; ... The name of the native Excel file format apparently is BIFF. At some point, it'll be valuable to document the location of [Microsoft] references on BIFF, as well as whether the Perl and Python modules write formatted plaintext, or BIFF. Yet another rumor has it that Excel reads an old, but useful, format called SYLK. There is a freely-available Excel viewer from Microsoft (MS Windows only) [http://office.microsoft.com/downloads/2000/xlviewer.aspx]; For Linux/Unix, Gnumeric [http://www.gnome.org/projects/gnumeric/] and StarOffice [http://www.staroffice.com/] can import Excel files; ---- I have written a tcl wrapper [Using Perl to get Excel] to make the writing of excel files using perl's Spreadsheet:WriteExcel very managable - [JBR]. ---- More information is available through http://www.wotsit.org/ [[find more precise URL]]. http://www.wotsit.org/download.asp?f=xls Links directly to the fileformat are not allowed anymore on wotsit. So you have to go to "Spreadsheet/Database" and look for "XLS". ---- [["If you tab delimit the data and name it myfile.xls, current versions of excel will 'do the right thing'."]] [CL] has recently had success with "pipe-delimiting"; that is, writing tabular data as simply as possible, with '|' separating fields. Office workers seem to accept this as "spreadsheet format". Later, in fall 2004, CL's finding abundant headaches with [CSV] and tab- and pipe-delimitation, but is happy with results from [HTML] formatting into a . [Benny Riefenstahl]: I have also have had success in opening simple HTML tables with Excel directly. This has the advantage of having a well-defined character encoding and makes it possible to use long multi-line text in cells. ---- The class library "Jakarta POI - HSSF - Java APIs with XML manipulate MS-Excel" (http://jakarta.apache.org/poi/hssf/) can be used in combination with [TclJava]. ---- Example fragment of COM-based access (read) of Excel spreadsheet: set cellVal [[$cells Item $msgNum $column] -get Value] ---- If you view a CSV file in Excel, columns are labeled A..Z, AA..AZ, BA.. To convert these column labels to numeric indexes (0..), so as to access the data with [lindex], here's a little helper: proc excel'col2int col { set abc {- A B C D E F G H I J K L M N O P Q R S T U V W X Y Z} set int 0 foreach char [split $col ""] { set int [expr {$int*26 + [lsearch $abc $char]}] } incr int -1 ;# one-letter columns start from A } ;# RS See [Mapping words to integers] for a more general take. ---- It amuses the archaeologically inclined that, as [KBK] observes, "The kernel of the Excel solver is the singular-value decomposition from Wilkinson [[presumably '''Handbook for Automatic Computation Volume II - Linear Algebra''']]. That's essentially 1971-vintage [Algol], rewritten first in [Fortran] and then in [C]." ---- The VBA Object Browser (OB) provides access to "the procedures, objects, ... available for use in the active workbook ..." To reach the OB, select "Tools/Macro/Visual Basic Editor". Once VB comes up, you should see a funny illustrated square icon near the right side of VB's standard toolbar; that's the OB, as its [tooltip] promises. Also, "In Excel, do Alt-F11 to open the Visual Basic editor. Hit F2 for the command library. All the VBA methods and properties are available COM interfaces. If you can write a VBA macro to do it, you can do it via COM. Better yet, use the "record macro" feature, and then translate the VBA to Tcl/COM (after cleaning up the sloppy auto-generated code that Excel records, of course)." [[ [MKS] in [comp.lang.tcl], February 2007]] ---- "[How to launch a Tcl program from Excel]" ---- [RT] has "written code to create Excel files with fancy formatting and it's about 250 lines and not pretty." [[supply ref]] ---- [George Petasis] An example of applying formatting can be found in [http://mini.net/tcl/Tcom%20examples%20for%20Microsoft%20Excel] ---- [[Annotate http://fox.wikis.com/wc.dll?Wiki~ExcelConstants~VFP , and also consider stealing John Machin's post as starting point for essay on why Excel is a terrible vehicle for data processing.]] ---- [excel xml] is a package that creates excel xml files. it can be used with office 2003. ---- Antiexcel [http://sf.net/projects/antiexcel/] renders Excel content as [plaintext]. xlhtml [http://chicago.sf.net/xlhtml/] is also pertinent. ---- [CL] generates a '''lot''' of reports in such formats as [PDF], '''.doc''', and '''.xls'''. Convenient for some Excel work is an HTML image such as
...
---- [Category Application] [Category Windows]