[Comp.Sci.Dept, Utrecht] Note from archiver<at>cs.uu.nl: This page is part of a big collection of Usenet postings, archived here for your convenience. For matters concerning the content of this page, please contact its author(s); use the source, if all else fails. For matters concerning the archive as a whole, please refer to the archive description or contact the archiver.

Subject: comp.apps.spreadsheets FAQ

This article was archived around: 23 Jun 2002 23:00:00 -0600

All FAQs in Directory: spreadsheets
All FAQs posted in: comp.apps.spreadsheets
Source: Usenet Version


Archive-name: spreadsheets/faq Author: casfaq@locutus.ofB.ORG (Russell Schulz) Comp-apps-spreadsheets-archive-name: faq Posting-Frequency: biweekly Last-modified: 2002-Mar-28 Posting-Via: news.demon.net (mail2news) Not-Posting-Via: my connectivity provider who doesn't do news for uucp now Not-Posting-Via-The-Cable-Modem-Because: I don't want to
comp.apps.spreadsheets == cas Frequently Asked Questions == FAQ The FAQ list for comp.apps.spreadsheets can be found on the Internet: <ftp://rtfm.mit.edu/pub/usenet/comp.apps.spreadsheets/faq> <http://www.faqs.org/faqs/spreadsheets/faq/> ======================================================================== Contents: 1. Disclaimer 2. Spam 3. Can you answer my spreadsheet question? 4. How can I add a FAQ and its answer to the FAQ list? 5. Should I post a spreadsheet utility I just created/found? 6. Where can I learn about spreadsheets? 7. General spreadsheet issues 8. For the masses: Lotus 1-2-3 9. For the masses: Quattro 10. For the masses: Excel 11. Spreadsheet runtimes/compilers 12. Optimizers (Solvers) 13. Errors, Checkers, Auditors 14. Obscure: File formats 15. Obscure: Free spreadsheets, and source code 16. Obscure: Commercial spreadsheets for UNIX 17. Obscure: Legal issues 18. Miscellaneous 99. Credits ======================================================================== 1. Disclaimer Read at your own risk. The current, previous, or original authors make no claim as to fitness for any purpose or absence of any errors, and offer no warranty. Do not eat. ======================================================================== 2. Spam you wouldn't believe how much spam I get to this address. ======================================================================== 3. Can you answer my spreadsheet question? Probably not. Please don't mail it to me. There is no reason to assume I, personally, have ever even USED the spreadsheet you're wondering about. Read the manuals, and the FAQ, and the materials pointed to by it. If you can't find an answer there, by all means post to the newsgroup. If you need help posting, see <http://groups.google.com/> among others. A FAQ list is intended to reduce traffic on a newsgroup, not eliminate it. The newsgroup readers can be very helpful. Don't be shy in asking questions. But do make sure that you: - show you've put in effort beforehand (including reading the manual for your software), and aren't just being lazy and abusing the newsgroup participants - give enough details -- some people don't even mention what spreadsheet they're using! - use a descriptive Subject: header (not just `Excel help' or `Two Lotus Questions' or `Quattro problem' or `Formula needed' or, probably worst of all, `Help me!!!!!!1') - clearly ask your question. your message will be travelling to thousands of computers around the world, so it's courteous to spend a few minutes reading it over and making it perfect. - give an example if you have a complex formula request (sometimes a small example will say more than a lot of text. if you want a particular result from 5 numbers, give the numbers and the result you'd expect. or give 3 sets of 5 numbers and 3 results.) - don't post a large attachment (these are almost ALWAYS a waste of space, which is very rude to people whose net access is expensive; a small example is good; a large attachment, including the example and an extra 100k of data and file format overhead, is bad.) These observations and suggestions hold for most newsgroups. My personal interest is in obscure, technical and/or historical trivia, like source code, free spreadsheets, and file formats, but not with how to do things which are documented in the manuals. I assume that future maintainers will rectify this imbalance. In the mean time, the whole of section 6 lists pointers to other places you can look which will probably have what you want. ======================================================================== 4. How can I add a FAQ and its answer to the FAQ list? Mail BOTH of them to me. Then I can add them to the FAQ and it should help people who have that same question later, as well as everyone who reads the group, because they won't see it asked and answered so often. Do not just post the message and hope that I will see it -- I don't read every message in the group. I do not work on this FAQ every day, but I will try to get updates incorporated in a timely manner. Of course, don't mail me my entire FAQ! I already have a copy! There are copies available all over the web that I could use if I lost mine! I pay for my access; don't you? ======================================================================== 5. Should I post a spreadsheet utility I just created/found? Please, no. While it's nice that you want to share, posting files is not the way to do it. Not everyone will want the file, and for many people net access is too expensive to waste it this way. If you have a web page, please put it on the web page, and post an announcement to the group telling us where it is. Then not only will people reading the group today have it, but people searching archives of the group next month will be able to find it, too. And only people who actually want it will pay for transmitting it. If you don't have a web page, you may want to use one of the many free web page services. Or possibly post a `space wanted' message to the group, asking people who have web pages (e.g., collections of spreadsheet utilities) if you can send it (once!) to them, and they will let us know where to find it. ======================================================================== 6. Where can I learn about spreadsheets? More entries are always helpful! Have any moved? Please let me know. Here are some places to look on the Internet I've seen suggested: History of Spreadsheets http://manuel.lit.tas.edu.au/buss/sssw/history3.htm [error 1999/Feb/14] http://libwww.stfx.ca/courses/CSCI130-13/lectures/spreadsheets/intro.html http://dss.cba.uni.edu/dss/sshistory.html http://www.un.org/Depts/unsd/softproj/papers/nidi_pg.htm http://www.as.edu.au/www/CompSt/GenHSC1.html [error 1999/Apr/10] John Walkenbach's "The Spreadsheet Page" http://www.j-walk.com/ss/ it's more than a page -- it's a large site with information on many spreadsheets and spreadsheet-related material, including his own advanced books IUPUI's FAQs for many spreadsheets http://www-lib.iupui.edu/toolbox/spreadsheets.shtml [no more FAQs?!] Microsoft Excel 97 and VBA http://www.100folhas.pt/software/excel.html [error 1998/Sep/08] Rick Desrosiers http://homepages.together.net/~rickd/ Writing Excel Macros, by Steven Roman http://www.oreilly.com/catalog/exlmacro/noframes.html spreadsheets in mathematics, statistics, and science education http://sunsite.univie.ac.at/Spreadsite/ spreadsheets and statistics http://www.man.deakin.edu.au/rodneyc/ spreadsheets and differential equations http://www.sci.usq.edu.au/staff/robertsa/home.html (look for spreadsheet.sea.hqx) Richard Warr's spreadsheet page http://www.warr.cc/ Excel (in German) http://www.vwa.ba-stuttgart.de/~mballweg/Excel/inhalt.htm [error 1998/Dec/01] Excel (in German) http://www.herber.de/ [frames-only! boo hiss!] http://www.herber.de/main_left.htm http://www.herber.de/links.htm Excel (in Russian) http://www.fido.nnov.ru/win/Excel/FAQ.html Excel utilities http://www.fido.nnov.ru/win/Excel/AmountToText.html The Byg Utilities Lite (including Number to Text) http://www.bygsoftware.com/bygutils/bu_lite.htm University of British Columbia Excel Tips http://www.science.ubc.ca/~geol302/excel/ Frank Isaacs' VBA Pro http://www.vbapro.com/ Arun Ubale's spreadsheet written in Java http://sunrise.cs.olemiss.edu/~cmubale/ [error 1998/Sep/08] http://www.cs.olemiss.edu/techrpt/tr1996.html Spreadsheet written in Java http://java.sun.com/applets/jdk/1.1/demo/SpreadSheet/SpreadSheet.java Christopher B. Browne's spreadsheet history and Linux implementations http://www.hex.net/~cbbrowne/spreadsheets.html Linux spreadsheets http://www.linuxlinks.com/Software/Spreadsheets/ Linux Software (including spreadsheets) http://members.aa.net/~swear/pedia/science-and-math.html Excel page with lots of examples; also, finding and removing links http://www.bmsltd.co.uk/ Joseph Moosman's Excel (including permutations and combinations) http://www.geocities.com/SiliconValley/7043/ Excel and VBA examples http://www.mindspring.com/~tflynn/excelvba.html Alan's Excel pages http://www.barasch.com/excel/ Chip's Excel pages http://home.gvi.net/~cpearson/excel.htm [error 2000/Jan/29] Laurent Longre's XLLs http://longre.free.fr/ http://longre.free.fr/english/ NerdWorld Spreadsheet Links http://www.nerdworld.com/nw547.html MIT Excel User Group http://web.mit.edu/xlug/ Excel Companion -- introduction to mathematical modeling http://faculty.babson.edu/aieta/exclcmpn/ Byte accolades for Improv (an MS-Windows port of the NeXT product) http://www.byte.com/art/9401/sec6/art1.htm Ture Magnusson Excel Pages http://www.turedate.se/excel/ http://www.turedate.se/excel/menu.htm [error 2000/Jan/29] Sam L. Savage -- Spreadsheets in analytical modeling http://www.stanford.edu/~savage/ http://lionhrtpub.com/orms/orms-2-97/savage.html Use of spreadsheets to analyze political data http://ps.polisci.wisc.edu/~kritzer/ps551/syllabus.htm [error 2000/Jan/29] Tutorial on adding custom functions to Excel; includes least-squares fitting for data with uncertainty http://wham.ph.utexas.edu/ModPhy/DataAnalysis/ExcelFunctions/ExcelFunctions.html [error 2001/Apr/18] Generalized Linear Models on a spreadsheet http://www.StatisticalEngineering.com/glm.htm Inside Microsoft Excel (formerly the Cobb Group, Ziff Davis) http://www.elementkjournals.com/ime/ Village Software -- commercial spreadsheets for Excel, Lotus, Quattro http://www.villagesoft.com/ John Lacher -- spreadsheet application development http://www.lacher.com/ Baarns Publishing http://www.baarns.com/ http://archive.baarns.com/DevOnly/pages/maindfaq.asp http://archive.baarns.com/Office97/pages/main97xl.asp http://archive.baarns.com/Excel/free/excelexp.asp http://archive.baarns.com/pages/faqgen.asp PC World spreadsheets http://www.pcworld.com/hereshow/ http://www.pcworld.com/hereshow/browse.asp?cat=212 http://www.pcworld.com/resource/printable/article/0,aid,15489,00.asp Spreadsheet Shareware Utility CD http://www.emsys.com/ssutil.htm [error 2001/Apr/18] Excel Solutions Letter (with VBA tips) http://www.beyondtechnology.com/ [totally frames-dependent! boo hiss! ] http://www.beyondtechnology.com/tips.htm OzGrid Excel (and VBA) training, spreadsheets, add-ins, tips and tricks http://www.ozgrid.com/ c|net http://www.help.com/cgi-perl/search.pl?query=spreadsheets Search Engines <http://dir.yahoo.com/Computers_and_Internet/Software/Spreadsheets/> <http://www.dmoz.org/Computers/Software/Spreadsheets/> <http://directory.google.com/Top/Computers/Software/Spreadsheets/> Official product web pages: Lotus http://www.lotus.com/ [yay! they fixed their no-frames brokenness!] Lotus information ftp://ftp.support.lotus.com/pub/desktop/ ... Improv/technotes/next/technotes.zip ... Improv/technotes/windows/technotes.zip ... Symphony/technotes/standalone/technotes.zip ... Symphony/technotes/server_edition/technotes.zip ... SmartSuite/technotes/windows/standalone/technotes.zip ... SmartSuite/technotes/windows/server_edition/technotes.zip ... 123/technotes/dos/standalone/technotes.zip ... 123/technotes/dos/server_edition/technotes.zip ... 123/technotes/windows/server_edition/technotes.zip ... 123/technotes/windows/standalone/technotes.zip Lotus 123 user discussion area http://www.lotus.com/free123.nsf?opendatabase http://www.lotus.com/maindisc.nsf/123byDate Quattro http://www.corel.ca/products/wordperfect/cqp/index.htm http://www.corel.ca/products/wordperfect/cqp7/index.htm http://www.corel.ca/products/wordperfect/cqp8/index.htm http://www.corel.ca/products/wordperfect/cqp/manual/ http://www.corel.ca/products/wordperfect/cwps8/macros/wptoc.htm http://www.corel.ca/products/wordperfect/cqp8/support.htm http://www.corel.ca/support/ Microsoft Excel http://www.microsoft.com/office/excel/ http://www.microsoft.com/officedev/articles/Opg/toc/pgtoc.htm (VBA guide) http://www.microsoft.com/office/ork/ (Office Resource Kit) http://support.microsoft.com/support/excel/content/faq/ Microsoft Knowledge Base http://support.microsoft.com/support/search/ [back to being accessible without cookies! finally!] ftp://ftp.microsoft.com/deskapps/excel/kb/ ftp://ftp.microsoft.com/deskapps/excel/kb/index.txt [not searchable except through index] Wingz http://wingz-us.com/ http://wingz.iisckc.com/ [error 2000/Jan/29] http://www.iisc.co.uk/wingz/ Xess http://www.ais.com/ http://www.ais.com/faq.html http://www.ais.com/xess4-help.html NExS http://www.nexs.com/ http://www.nexs.com/faq.html http://www.nexs.com/manuals.html VistaSource Applixware and Anyware http://www.vistasource.com/ http://www.vistasource.com/products/anyware/spreadsheets http://www.vistasource.com/services/support/FAQ Star Office (includes spreadsheet) http://www.stardiv.de/ http://www.stardivision.com/ http://www.stardivision.com/body.html ftp://ftp.gwdg.de/pub/linux/staroffice/ MacroCALC http://www.freakout.de/#mc XQuad (Axene Office) http://www.axene.com/english/xquad.html Spreadsheet 2000 (formerly Let's Keep It Simple) http://www.emer.com/s2k/ [error 2001/Apr/18] http://www.casadyg.com/ [error 2001/Apr/18] Improv ftp://ftp.support.lotus.com/pub/desktop/Improv/index.html Mesa http://www.plsys.co.uk/products/mesa/ http://www.sundialsystems.com/mesa/ Quantrix http://www.lighthouse.com/ProductInfo/Quantrix.html [error 1997/Jun/01] http://www.lighthouse.com/ftp.html [error 1999/Apr/10] ftp://ftp.lighthouse.com/pub/products/Quantrix/ [error 1999/Apr/10] ParaSheet http://www.lighthouse.com/ProductInfo/ParaSheet.html [error 1997/Jun/01] http://www.lighthouse.com/ftp.html [error 1999/Apr/10] ftp://ftp.lighthouse.com/pub/products/ParaSheet/ [error 1999/Apr/10] As Easy As and Alite http://www.triusinc.com/ GS-Calc http://www.jps-development.com/gs-calc.htm Lucid 3-D http://www.lucidcorp.com/products/l3ddos_text.html [error 2001/Apr/18] http://www.lucidcorp.com/products/l3dw_text.html [error 2001/Apr/18] Sum*It (for Mac and Be) http://www.hekkelman.com/ http://www.hekkelman.com/SumIt.html Sphygmic Spreadsheet http://www.sphygmic.com/sssheet.htm Advance by APS http://www.lighten.com/compare/improv_index.html [error 2001/Apr/18] @Risk http://www.palisade.com/ http://www.palisade.com/html/risk.html KMT Software; developers of templates, add-ons and developer tools http://www.kmt.com/ XRT/table widgets http://www.klg.com/software/xrt/xrttable.html JClass LiveTable http://www.klg.com/software/jclass/jclasslivetable.html xlSTAT (a data analysis toolbox for Excel) http://www.xlstat.com/ Bob Flanagan's `Microsoft Visual Basic Macros Made Easy' online book http://www.add-ins.com/vbhelp.htm [error 2000/Jan/29] Bob Flanagan's `Home of Great Excel Add-ins' http://www.add-ins.com/ Interval Solver for Microsoft Excel http://www.delisoft.fi/ExcelProducts/IntervalSolver/ [error 2001/Apr/18] OMDI Add-ins for Microsoft Excel http://www.octavian.com/scieng.html http://www.octavian.com/mathdesc.html Linear Programming http://www.octavian.com/omdiimag.html Image Tools http://www.octavian.com/descunit.html Unit Tools http://www.octavian.com/descelem.html Element Tools http://www.octavian.com/descpure.html Pure Component Tools Analyse-it statistics add-in for Microsoft Excel http://www.analyse-it.com/ Concept Data http://www.conceptdata.com/ FarPoint Spread (VBX) http://www.fpoint.com/ http://www.fpoint.com/products/spread/spread.html Forms Processing Engine (JavaScript spreadsheet) http://www.c-sw.com/ Athena's Integer Spreadsheet in Java http://www.integer.athena.com/ [error 2001/Apr/18] ExcelGrid for Delphi http://www.topsoft.com/main/2025/14912663.asp Enhance23 add-in for Lotus123 http://www.lapsoft.com/ DPS Small Business Solutions -- examples in Excel, 123, MS Works, ... http://songdavis.hypermart.net Other: Mailing list: Excel General EXCEL-G for information, send mail with the line INFO EXCEL-G to LISTSERV@PEACH.EASE.LSOFT.COM to subscribe to the list, send mail with the line SUB EXCEL-G user@domain.name Firstname Lastname to LISTSERV@PEACH.EASE.LSOFT.COM Mailing list: Excel Developer EXCEL-L for information, send mail with the line INFO EXCEL-L to LISTSERV@PEACH.EASE.LSOFT.COM to subscribe to the list, send mail with the line SUB EXCEL-L user@domain.name Firstname Lastname to LISTSERV@PEACH.EASE.LSOFT.COM Newsgroups: Quattro access via NNTP at news://cnews.corel.ca note that this is not a legitimate RFC 1036bis name, so it may not work with your particular newsreader corel.support.wordperfect8suite.quattropro Newsgroups: Microsoft Excel access via NNTP at news://msnews.microsoft.com note that many of these are not legitimate RFC 1036bis names, so they may not work with your particular newsreader microsoft.public.excel.123quattro Support for converting 1-2-3 or Quattro sheets into Microsoft Excel sheets. microsoft.public.excel.charting Support for building charts with Microsoft Excel microsoft.public.excel.crashesGPFs Post here for help with crashes or General Protection Faults. microsoft.public.excel.datamap Support for the Data Map feature microsoft.public.excel.interopoledde Assistance with OLE - DDE and other cross application issues. microsoft.public.excel.links Support for using links in Excel. microsoft.public.excel.macintosh Support for Excel issues on the Macintosh Operating System Platform microsoft.public.excel.misc Post general questions or questions that do not fit one of the other categores. microsoft.public.excel.printing Support for printing spreadsheets with Microsoft Excel microsoft.public.excel.programming Programming Excel using VBA or XLM. microsoft.public.excel.queryDAO Support of the Microsoft Query Tool and using Data Access Objects (DAO) in Excel. microsoft.public.excel.setup Setup and Installing Microsoft Excel. microsoft.public.excel.templates Assistance with the Village templates and other XLT files. microsoft.public.excel.worksheetfunctions Support for Worksheet functions only like =Lookup(), or =Linest(). microsoft.public.de.excel Deutsche Newsgroup fuer EXCEL ======================================================================== 7. General spreadsheet issues 7.0 Introductions http://www.drake.edu/artsci/econ/study/spread.html [error 2000/Jan/29] 7.1 Why does my spreadsheet say 0.1+0.1+0.1+0.1+0.1-0.5 isn't 0? if any computer package uses binary floating point numbers (and the vast majority do), then it can not represent the value 1/10 exactly (just like it can't represent the value 1/3 exactly). so, in each 0.1 there's a little roundoff error, and when you get enough of those errors together, you can sometimes see them. this is why you cannot reliably use simple equality tests on a binary-arithmetic computer (including in a spreadsheet) unless it is designed to represent such quantities exactly (for instance, by using integer hundredths, or using Binary Coded Decimal form). so, instead of testing for equality like =IF(Credits=Debits) you have to do it something like =IF(ABS(Credits-Debits)<0.0000001) because the first method MAY FAIL when you encounter this type of roundoff error. the numbers will _look_ the same on the screen, but they won't _be_ the same, when examined to the full precision the computer has used. frustratingly, Microsoft Excel _does_ store values as integer hundredths to make the files smaller, but it does _not_ use these precise values in its calculations, as that perfect accuracy would make it slower! if you're using dollars and cents, testing if the values agree to within 1 cent (0.01) usually makes more sense than 0.0000001 . even though later versions of Microsoft Excel do have an option `use values as displayed', it does not wholly work around this problem, as the calculations are still done internally in binary. however, the final test against `0' _could_ work, if placed in separate cells: the displayed value for 0.1+0.1+0.1+0.1+0.1-0.5 (when forced to show at most 2 decimal places) is exactly 0. but if you were testing `0.1+0.1-0.1' against `0.1', all bets are off -- it may work, or it may not, depending on how careful the different parts of the spreadsheet are in being consistent with rounding to impossible-to-store-exactly values like `0.1'. 7.2 How can I round to the nearest multiple of 3? or the nearest nickel? if you have a ROUND() function, simply divide by your grouping, round your value, and multiply by your grouping. e.g., to round to the nearest use 3 ROUND(value/3)*3 0.05 ROUND(value/0.05)*0.05 0.05 ROUND(value*20)/20 [equivalent] these results will still be subject to computer accuracy -- if you round 0.15 to the nearest 0.3, you might get 0 or you might get 0.3 or you might get 0.29999999999. 7.3 How can I save-as HTML, or otherwise view foreign spreadsheets? 7.3.1 built-in save-as HTML some spreadsheets have this built-in now. contact your vendor to see if there is a patch or add-on which will work for you. 7.3.2 dbQuickPage (HTML) dbQuickPage supports the following [...] Lotus 1-2-3 wk1, wk3, wk4 Excel 3.0, 4.0, 5.0, 8.0 http://www.hallogram.com/dbquickpage/ 7.3.3 XTML (Excel to HTML) http://members.aol.com/ksayward/XTML/ 7.3.4 perl source code (source code!) (doesn't require MS-Windows!) (free!) 7.3.4.1 Herbert, a free platform independent MS Excel to HTML convertress http://user.cs.tu-berlin.de/~schwartz/perl/ 7.3.4.2 Spreadsheet::ParseExcel http://www.perl.com/CPAN-local//modules/by-module/Spreadsheet/ 7.3.5 Quick View http://www.inso.com/qvp/index.htm [error 2001/Apr/18] add-in for Netscape Navigator views many spreadsheet file types 7.3.6 Corel Quattro Viewer Plugin http://www.corel.com/products/wordperfect/cwps8/plugin.htm 7.3.7 Drag and View http://www.canyonsw.com/dnv.htm 7.3.8 ReadWk ftp://ftp.simtel.net/pub/simtelnet/msdos/spredsht/readw308.zip WKS,WK1 7.3.9 QView ftp://ftp.simtel.net/pub/simtelnet/msdos/spredsht/qtview11.zip WKQ,WQ1,WQ2,WB1,WKS,WK1,WRK,WR1 7.3.10 xl2html http://www710.gsfc.nasa.gov/704/dgd/xl2html.xls [hard to reach] http://www.gwdg.de/samba/winapps/xl2html.zip [unofficial mirror] 7.4 How many columns or rows does my spreadsheet allow? look in your manual! why do so many people post this question world-wide? 7.4.1 Can I get more columns or rows than that? no -- did you think the manual was joking? a. perhaps there is another spreadsheet package which has enough columns or rows for your needs. b. if you cannot switch packages, try to rotate the data (since most spreadsheets allow many more rows than columns). c. if none of these work, split the data over multiple sheets, if your package has this capability. 7.5 Spreadsheets in Science and Engineering 7.5.1 Science and Engineering book/CD: Spreadsheets in Science and Engineering ed. W. G. Filby ISBN 3-540-61253-X 7.5.2 Chemistry book: Excel for Chemists: A Comprehensive Guide, by Dr. E. Joseph Billo (Wiley-VCH, 1997, 480 pp, $49.95) 7.5.3 MoreVision Layout http://www.morevision.com/ 7.6 How do I deal with dates and times in my spreadsheet? this depends on your spreadsheet. the most common method is to ignore dates entirely -- just represent the dates as numbers, and use them like any other numbers. in particular, every number is treated as the number of whole days starting with some particular date long ago (it is called the epoch, and usually has a value of 1). so a value of 2 would be the day after the epoch, 3.5 would be noon (12 hours=0.5 days) 2 days after the epoch, and 12.25 would be 6 am (6 hours=0.25 days) 11 days after the epoch. (Unix keeps its time in a similar way, except it only uses integers; it counts the number of seconds since the start of 1970. this is why many Unix systems are in danger of severe clock problems in 2038 -- the signed 32-bit counter will overflow.) when you format the numbers as dates or times, a lot of things just magically work. for instance, you can add 7 to a date, and it will always be a week later, even if it wrapped around a month or year or century -- it's the formatting that does all the hard work of deciding what date (and time) a given number actually represents. there are two big problems: 1. there was no February 29 in 1900: by the 4/100/400 rule, 1900 was not a leap year (and 2000 was). but for backward compatibility with an error in an early spreadsheet that used the epoch of 1900/Jan/01, many spreadsheets treat 1900 as if it was (and claim that `60' should be treated as the nonexistent 1900/Feb/29). this means any date calculations that use dates before 1900/Mar/01 are suspect. 2. the epoch can change: perhaps to avoid that problem, the Macintosh system has used an epoch of 1904/Jan/01. but since the dates are stored only as numbers, you can suddenly find your dates shifting by about 4 years when opening spreadsheets on different computers (notably, Microsoft Excel allows you to switch between the `1900 date system' and the `1904 date system' interpretations on the same computer). there are 3 small problems: 1. the difference between two dates can't be formatted as a date: if you want to show the difference between two dates (e.g., age) you simply subtract the two numbers -- but do NOT format them as dates (since a difference of 3 days might show up as the confusing 1900/Jan/04). always treat (and format) the difference as a number of days, possibly dividing by 7 to show the number of weeks; 365[.2422...] to show an approximate number of years; 30[.416...] to show an approximate number of months. 2. times over 24 hours may be hard to format: if you add 18 hours (0.75) and 12 hours (0.5), you may not get the 30 hours (1.25) you expect, but 1 day with 6 hours (0.25) left over. you may need to format the result as a number, in days, or multiply by 24 to show the time in hours. many newer versions have a special `overflow' format to treat a number as time only, without using the integer part as a day count. 3. two digits for the year were never enough (past 1900, anyway): if you enter data with 2-digit years, shame on you. but if you insist, your software may be trying to outsmart you -- some packages treat any two-digit year from 00-29 as 2000-2029. if this happens, and you format the date with a 2-digit year (shame on you!), you may never notice this switch until the day you accidentally discover that your `average age' calculation is just a little too low, because of a few negative ages you used! ======================================================================== 8. For the masses: Lotus 1-2-3 8.0 1-2-3 history [ I've been mailed a as-I-remember-it history, but I'd love to have an official one to point to here ] 8.1 What file extensions do different versions use? WKS : release 1A WK1 : release 2 FMT : format of release 2 (wysiwyg) WK3 : release 3 FM3 : format of release 3 (wysiwyg) WK4 : release 4 and 5 (includes format (wysiwyg)) 123 : release 97 8.2 How can I recover a corrupted file? see http://www.geocities.com/CapitolHill/5186/ [removed? 1998/Jan/23] 8.3 Opening Quattro Files see ftp://ftp.support.lotus.com/pub/desktop/123/win3x/utils/qpwtrans.exe ======================================================================== 9. For the masses: Quattro 9.0 Quattro history 1-2-3 was the dominant spreadsheet on PCs for a long, long time. `quattro' is similar to the Latin and Spanish words for `4'. Get it? According to the 1994 Computer Bowl, the code name for Quattro was `Buddha', since it was intended to assume the Lotus position. 9.1 Quattro file extensions Felix Miata wrote: > All versions of Quattro Pro I have used can read and write the > Lotus WKS and WK1 file formats. A file saved as both a WK1 file > and a WQ1 file results in the WQ1 file being the larger. Maximum > cell contents length in the Lotus formats is 240 characters. For > the QPro formats I have used (WQ1 & WQ2) the limit is 255 > characters. The special WQ! compressed format available to QPro > DOS users reduces the contents length to a 245 character maximum. > So, something is obviously different about the formats. > The original Quattro used the WKQ format. Quattro Pro introduced > the WQ1 format. The WQ2 format was introduced to offer multipage > spreadsheet "notebooks" with version 5.0. The Windoze version > readable by the DOS program is WB1. ======================================================================== 10. For the masses: Excel 10.0 Excel history http://www.microsoft.com/msexcel/productinfo/macintosh/xlhistry.htm [error 1999/Apr/10] http://support.microsoft.com/support/kb/articles/q66/9/13.asp ftp://ftp.microsoft.com/deskapps/excel/kb/q66/9/13.txt http://info.lut.ac.uk/departments/ps/Exceldir/ExcelHist.html 10.1 Why would anyone want to convert Excel 4 macros to VBA? - there are some compatibility problems with later versions - so they are easier to understand - so they are easier to modify - so you can learn VBA 10.1.1 Is there a tool which will convert Excel 4 macros to VBA? not that anyone knows of -- if you find one, tell us all 10.2 How can I do a Save-As or Exit without prompting the user? VBA: You can suppress the messages with: Application.DisplayAlerts = False Don't forget to turn them back on when you are finished with: Application.DisplayAlerts = True 10.3 How do I put multiline text string in a message box? VBA: MsgBox _ "This will print on line one" & Chr(13) & _ "this will print on line two" 10.4 Why do I get "File format no longer supported"? If some other application overwrites the OLE DLLs, you will get this error at odd times. One fix posted by Scot Foss follows: Move these files to a different directory and then Uninstall Excel. If you reinstall Excel every thing should work. After reading through the related articles in dejanews one person said that Microsoft Video was the culprit that overwrote the DLLs. The only thing that I can think of that I installed in the last month was Microsoft Encarta, I haven't experimented to see if it was Encarta that messed up the DLLs, so I can't be sure. Here's the list of the files: I deleted Excel and backed up and deleted the following files, and reinstalled Excel from the MS-Office disks. OLE2.DLL OLE2.REG OLE2CONV.DLL OLE2DISP.DLL OLE2NLS.DLL OLE2PROX.DLL VBA.DLL VBAEN.DLL VBAEN.OLB STDOLE.TLB STORAGE.DLL TYPELIB.DLL 10.5 What's this about the 15 digit numbers that return 0.64 or 1.28? according to Microsoft, the problem numbers are: > 140737488355328 = 2^47 > 281474976710656 = 2^48 > 562949953421312 = 2^49 > multiples of ten also cause problems, such as 1.40737488355328 see http://support.microsoft.com/support/kb/articles/q128/6/50.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q128/6/50.txt see http://support.microsoft.com/support/kb/articles/q128/3/32.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q128/3/32.txt 10.6 How can I read Excel files without Excel? 10.6.0 from a program see the section on `Excel formats' to see if there is a library that will work on your system. also see the section on `Spreadsheet runtimes/compilers' 10.6.1 using MS-Windows (Excel Viewer) see http://support.microsoft.com/support/kb/articles/q141/2/24.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q141/2/24.txt 10.6.2 not using MS-Windows see the section on converting to HTML to see if that will satisfy. if not, you will probably have to buy a spreadsheet package for your system that can read Excel files. or see if you can get the Excel user to use a non-proprietary format. 10.7 What's this about an Excel virus? see http://support.microsoft.com/support/kb/articles/q154/1/31.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q154/1/31.txt see http://support.microsoft.com/support/kb/articles/q176/8/07.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q176/8/07.txt Even with Macro Virus Protection (Excel 97 and later) enabled, code can run upon opening files, without your approval: see http://www.counterpane.com/crypto-gram-9908.html#News see http://officeupdate.microsoft.com/Articles/mdac_typ.htm 10.8 When I start up Excel, it tries to open a lot of files; some of them are non-Excel files (sometimes my AUTOEXEC.BAT and CONFIG.SYS, sometimes all my Windows files) that it tries to open as Excel workbooks. What happened? it is opening all the files in the Alternative Startup File Location. delete the setting via: Excel 4: load the AltStart addin and clear the entry Later: Tools|Options|General|Alternate Startup File Location with some later versions, you can start Excel with a flag excel /AUTOMATION to temporarily disable this action (which makes it easier to get to the menus to turn it off) 10.9 Any number I type in gets divided by a power of 10. Why? Excel has an option `Fixed Decimal Places', which divides all constants entered directly in the cell by a power of 10 (e.g., entering 622 would change to 6.22). change the setting to `0' via: Tools|Options|Edit|Fixed Decimal Places 10.10 Excel complains about TIMER.DRV on startup. What can I do? see http://support.microsoft.com/support/kb/articles/q109/7/78.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q109/7/78.txt 10.11 I get odd (square?) characters where I expect commas (thousands) or slashes (dates). What happened? check your International settings in Control Panel. when these get corrupted, Excel will still use them, with ugly results. 10.12 How can I add 14:00 to 14:00 and get the cell to say 28:00 instead of 04:00? > For Excel 5, 7, 8 > format the cell: [h]:mm > > Excel 97 makes it easier now, by including the format among the pull > down choices for a time format. 10.13 Why is =-1^2 positive and =0-1^2 negative? nonstandard operator precedence -- the `unary minus' has a high precedence, as normal, but the `exponentiation operator' has a higher one, which is NOT normal. see http://support.microsoft.com/support/kb/articles/q132/6/86.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q132/6/86.txt Excel treats -1^2 as (-1)^2, while most languages would as -(1^2). (you can ALWAYS use parentheses to force either interpretation.) note that Excel formulas and VBA formulas disagree on the order. I had thought it might have been there for Lotus 1-2-3 compatibility; however, the Microsoft Excel Knowledge Base mentions this incompatibility explicitly: see http://support.microsoft.com/support/kb/articles/q61/9/41.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q61/9/41.txt Results of -1^2 (or -1**2) All known versions of Excel: 1 Excel =FORMULA Bill Clark tested it and reported: -1 Excel 5 VBA -1 DOS Quattro Pro V5 -1 Lotus 123r5w -1 Qbasic -1 GNU G77 Fortran (OS/2) 1 dBase 4 1 Base32 (OS/2 Dbase clone) John Whittington reported: -1 SAS -1 Minitab -1 MS BASIC 1 MS Word for Windows Table Formula The comp.lang.perl.misc FAQ mentions: -1 Perl Anthony Berglas pointed out an odd problem with precedence between floating-point division (/) and integer division (\) in VBA: > ? 60 \ 5 * 2 > 6 > ? 60 / 5 * 2 > 24 10.14 How can I save a chart as a GIF file? see http://support.microsoft.com/support/kb/articles/q168/5/61.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q168/5/61.txt see http://support.microsoft.com/support/kb/articles/q166/3/38.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q166/3/38.txt see http://support.microsoft.com/support/kb/articles/q163/1/03.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q163/1/03.txt 10.15 Excel says I have links -- but I can't find them. Where are they? see http://support.microsoft.com/support/kb/articles/q188/4/49.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q188/4/49.txt see http://www2.kalanit.co.il/nachum/ [no more Excel content?] 1. formulas find the filename the link is to (Edit|Links) select all sheets search for that filename 2. names search through the list of names 3. buttons [ is there a good way to search these? ] 4. charts [ is there a good way to search these? ] 10.15.1 How can I get a list of names defined in a spreadsheet in a form I can search for, print, compare with others, etc.? it's built-in => Insert|Name|Paste|Paste List see http://support.microsoft.com/support/kb/articles/q50/2/61.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q50/2/61.txt 10.16 How can I recover a corrupted file? see http://www.conceptdata.com/excel/ see http://www.excelrecovery.com/ see http://www.officerecovery.com/ see http://www.mjm.co.uk/excel-recovery.html 10.17 Why doesn't my spreadsheet recalculate? Microsoft Excel has been notorious for not recalculating automatically, the last few releases. this is scary. see http://support.microsoft.com/support/kb/articles/q174/8/68.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q174/8/68.txt to force a recalc (perhaps after every formula or data change!), type Ctrl+Alt+F9, or `Application.SendKeys "^%{F9}"' in VBA. a search-and-replace of `=' with `=' will also force recalculation (which might be required after a Copy and Paste). 10.17.1 Why do my User-Defined Functions return #VALUE! occasionally? there is a problem with Excel 95 user-defined functions, in which they are sometimes replaced by #VALUE when sheet operations take place. for example, inserting or moving a sheet from one spreadsheet to another will often result in all user-defined functions being replaced by a #VALUE. forcing the sheet to recalculate will not remove the #VALUE. re-entering the formula (and clicking the little green check box) resolves the problem; also, global replacement of `=' with `=' (which is no functional change) throughout the sheet will simulate this and restore the correct values. 10.18 How do I use array formulas? 10.18.0 Matrix operations in Excel (Macro-Investment Analysis) http://www.stanford.edu/~wfsharpe/mia/mat/mia_mat4.htm 10.18.1 How do I sum up or count column A when corresponding cells in column B match some condition? use an array formula; in MS-Windows, you enter an array formula with Ctrl+Shift+Enter. on a Mac, use Command+Shift+Enter (I think). Excel will add {braces} to the display to remind you it's an array. SUMIF() and COUNTIF() functions in recent versions of Excel can be simpler, but reduce portability, and can't handle the more complex cases. examples: data is in rows 10:50 - count entries in column B that are >10 =SUM(IF(B10:B50>10,1,0)) - sum entries in column B that are >10 =SUM(IF(B10:B50>10,B10:B50,0)) - average entries in column B that are >10 =SUM(IF(B10:B50>10,B10:B50,0)) / SUM(IF(B10:B50>10,1,0)) - sum column A when column B is >10 =SUM(IF(B10:B50>10,1,0)*A10:A50) - sum column A * column B when column C is "blue" =SUM(IF(C10:C50="blue",1,0)*A10:A50*B10:B50) - sum column A when column B is >10 and column C is "blue" =SUM(IF(B10:B50>10,1,0)*IF(C10:C50="blue",1,0)*A10:A50) [don't use AND(), see below] - sum column A when column B is >10 or column C is "blue" =SUM(SIGN(IF(B10:B50>10,1,0)+IF(C10:C50="blue",1,0))*A10:A50) [don't use OR(), see below] 10.18.2 How come my SUM(IF()) array formula doesn't work? Excel (even v8, Excel 97) does not handle AND() or OR() in array formulas; other versions have also had problems with MIN() and MAX() in array formulas. see http://support.microsoft.com/support/kb/articles/q77/6/76.asp see ftp://ftp.microsoft.com/deskapps/excel/kb/q77/6/76.txt but I recommend avoiding their booleans-are-numbers type coercion, by changing IF(and(a=b,c=d),x,y) to IF( if(a=b,1,0) * if(c=d,1,0) <>0 ,x,y) IF(or(a=b,c=d),x,y) to IF( if(a=b,1,0) + if(c=d,1,0) <>0 ,x,y) it makes the formulas longer, but should make your intent clearer to everyone who didn't use this to get AND/OR in BASIC 20 years ago. for AND(), you can just use multiplication (since only 1*1=1 and 0*anything=0) and SUM() the results. but for OR(), this won't work (since 1+1=2). however, you can use the SIGN() function when SUM()ing; e.g., SUM(SIGN(IF(A1:A10=6,1,0)+IF(B1:B10=22))) will result in the count of rows where A1:A10 is 6 and B1:B10 is 22, since SIGN(0) is 0 while SIGN(1) and SIGN(2) are both 1. 10.19 What is the correct, registered MIME Content-Type for Excel files? application/vnd.ms-excel see http://www.isi.edu/in-notes/iana/assignments/media-types/application/vnd.ms-excel so don't use any of these: application/ms-excel application/msexcel application/excel application/x-ms-excel application/x-msexcel application/x-excel application/octet-stream 10.20 How do I protect myself in Excel against "unary" minus type bugs in my formulas? You can use the AutoCorrect feature to prevent yourself from incorporating hard-to-spot logic errors into your spreadsheets: is replace with ,- ,(0- (- (0- =- =0- <-- this one is IMPORTANT, since = and - are adjacent on most keyboards, and it's easy to type `=-' when you only meant to type `=' 10.21 Why does Excel claim I have an invalid `SYLK' file? Because the Excel programmers are sloppy. A valid SYLK file begins with `ID;' or `ID' alone on a line. Sometimes Excel incorrectly says `SYLK: file format is not valid.'. When you try to open a text file that begins with, say, `ID' and a tab, it could not possibly be a valid SYLK file, but Excel claims it thought it was, to no avail. Simply rename `ID' to `Ident' or `Id' or something similar. ======================================================================== 11. Spreadsheet runtimes/compilers 11.0 References 11.1 Baler and Visual Baler http://the-ciba.com/vbaler/index.html 11.2 xlsexe Compuserve: 71031,1123 <71031.1123@compuserve.com> America Online: RobertL469 Centerline Software 3351 Turner Plaza #108 Abilene, TX 79606 ftp://ftp.zdnet.com/pccomp/1001/xlsexe.zip 11.3 Formula One (Java) http://www.tidestone.com/ 11.4 SmartTable http://www.vni.com/products/wpd/SmartTable/ 11.99 Can't find them 3-2-1 Blastoff, by Looking Glass / Frontline Systems King Jaguar, by Sheng Laboratories Inc. ======================================================================== 12. Optimizers (Solvers) 12.0 Discussion these products take as inputs: - starting data - relations - desired outcome and attempt to vary the data to achieve the outcome exactly. they do this by making small changes to the data, observing whether the outcome is closer or further, and either making a larger change or making the change in the opposite direction. http://www.maths.mu.oz.au/~worms/digest/software/spreadsheets.html [error 2001/Apr/18] http://www.maths.mu.oz.au/~worms/digest/software/excel97.html [error 2001/Apr/18] A Linear Programming Example http://www.cs.adfa.oz.au/~mariamf/ms3e/spreads.htm [error 2001/Apr/18] 12.1 included many spreadsheets include such a rudimentary facility 12.2 Frontline Systems http://www.frontsys.com/ 12.3 New Light Industries These are general-purpose optimizers that work with Excel, and which can be used to find the set of inputs that maximize or minimize a profit, cost, or other value calculated in an Excel spreadsheet. http://www.iea.com/~nli/ http://www.iea.com/~nli/products/genetic_algorithms/main.htm 12.4 What'sBest [sic] http://www.lindo.com/ 12.5 Mathematical Programming Services http://www.matpro.com/ 12.6 MoreVision Layout http://www.morevision.com/ http://www.morevision.com/side.htm ======================================================================== 13. Errors, Checkers, Auditors 13.0 Discussion Raymond Panko's Spreadsheet Research http://panko.cba.hawaii.edu/ssr/ Jocelyn Paine Model Master (spreadsheet front-end; fewer errors; easier to read+maintain) http://www.ifs.org.uk/~popx/ New Scientist articles http://www.newscientist.com/ns/970816/nspreadsheet.html http://www.newscientist.com/ns/980912/nsoftware.html Frontline Systems Hints for Building Readable, Manageable Models http://www.frontsys.com/readable.htm Spreadsheet Style - including readability tips, auditing help http://www.spreadsheetstyle.com/ 13.1 Minimal There should be 2 trivial checks any spreadsheet should be able to make on its formulas: 1. no formula refers to an empty cell - except as part of a larger SUM() perhaps 2. no nonempty cell is unreferenced - except those that are intended as final results or displays 13.2 The Excel Auditor http://www.bygsoftware.com/auditor/auditor.htm 13.3 Spreadsheet Detective http://www.uq.net.au/detective/ 13.4 Professional's Guide to Robust Spreadsheets http://www.manning.com/Richardson/ ISBN 0-13262320-X 13.5 The Campgridge Spreadsheet Analyst from 1986 (Version 2.0) The Cambridge Software Collaborative identifies a variety of suspicious references one web site claims it is now owned by Intex; one claims Symantec. 13.99 Can't find them Spreadsheet Auditor, by Consumers Software (or Consumer Software?) Cellmate ======================================================================== 14. Obscure: File formats 14.0 General References Wotsit: Database and Spreadsheet http://www.wotsit.org/search.asp?s=database File Formats for Popular PC Software by Jeff Walden ISBN 0-471-83671-0 John Wiley & Sons Copyright 1986 Spreadsheet file formats for: Lotus 1-2-3 1, 1A, 2.0 Symphony 1, 1.1 Ability DIF (Data Interchange Format) Multiplan (SYLK) 1.2 IBM Plans+ 1.0 Supercalc 3 Release 2 SDI (Super Data Interchange) 2.0 Visicalc 177Y2 More File Formats for Popular PC Software by Jeff Walden ISBN 0-471-85077-2 John Wiley & Sons Copyright 1987 Spreadsheet file formats for: Framework II Supercalc 4 The File Formats Handbook by Guenter Born ISBN 1-85032-117-5 International Thomson Publishing, London 1274 pages Copyright 1995 (I think) Spreadsheet file formats for: Lotus 1-2-3 WKS/WK1 file format Lotus 1-2-3 WK3 file format Lotus 1-2-3 FRM file format Lotus 1-2-3 PIC format Lotus Symphony format Data Interchange Format (DIF) Super Data Interchange format (SDI) Standard Interface format (SIF) Symbolic Link Format (SYLK) Excel binary interchange format (BIFF) http://ourworld.compuserve.com/homepages/Guenter_Born/ http://ourworld.compuserve.com/homepages/Guenter_Born/file1.htm Dr. Dobb's Essential Books on File Formats 6 books on one CD Born: The File Formats Handbook Walden: More File Formats for Popular PC Software Kay: Graphics File Formats Kientzie: Internet File Formats Swan: Inside Windows File Formats Taylor: File Formats orders@mfi.com http://www.ddj.com/cdrom/ Graphics File Formats Encyclopedia by James D. Murray, William vanRyper ISBN 1-56592-161-5 (2nd edition) O'Reilly and Associates book and CD Spreadsheet file formats for: Lotus 1-2-3 WKS/WK1 Lotus 1-2-3 PIC Data Interchange Format (DIF) Symbolic Link Format (SYLK) http://www.ora.com/catalog/gffcd/ http://www.ora.com/catalog/gffcd/noframes.html 14.1 Tab-delimited format Stores: Values this is generally an excellent format, except that it can be corrupted easily by any text manipulator (including editors and e-mail systems) that remove or add tabs, and it uses non-printable characters that may not have an equivalent in non-ASCII character sets. also, it tends to have long lines, which may cause further problems. each column is separated by ASCII tabs (9). each row is separated by local end-of-line, most commonly ASCII LF (10), ASCII CR (13), or ASCII CRLF pair (13,10). e.g., First[TAB]Second[TAB]3[TAB]Fourth, and Second-Last[TAB]Fifth 14.2 CSV (Comma-Separated Values) format Stores: Values this is generally not a good format, as it has two special cases (commas and quotation marks) that are often misimplemented. it can work very well for purely numeric data, which use neither of these two characters -- unless your radix separator is the comma, as is still common in some parts of Europe. in these cases, software often uses a semicolon (;) instead of the comma (,) to separate fields. each column is separated by commas. each row is separated by local end-of-line, most commonly ASCII LF (10), ASCII CR (13), or ASCII CRLF pair (13,10). if a comma is needed, the entire field will be surrounded by quotation marks (though there is software that gets even this wrong -- the Windows NT 3.51 Event Log export function is one example). some packages enclose any string value (and even numeric values) in quotation marks. to represent a quotation mark within a field, double it (don't use `\"') and quote the whole field. e.g., (examples marked with [*] are unusual) First,Second,3,"Fourth, and Second-Last",Fifth "First","Second",3,"Fourth, and Second-Last","Fifth" [*] "even","numeric","fields","are","in","quotes","1","2","3" "this field has a ""quoted"" word","yes, and this one has a comma" 14.3 DIF (Data Interchange Format) note that this is not Directory Interchange Format, documented at http://gcmd.gsfc.nasa.gov/difguide/difman.html . Stores: Values this is generally a good format, as it clearly distinguishes between numeric and string data. http://www.wotsit.org/download.asp?f=dif (ignore the `O' vs. `0' mixup throughout) http://hcl.chass.ncsu.edu/garson/pa573/convert.txt [error 1999/Feb/14] http://www.wco.com/~3d5d1wsw/Apple.III.info/DIF.txt [error 1998/Jan/24] Byte Magazine Nov 1981 p174-206 DIF: A Format for Data Exchange between Application Programs Candace E Kalish & Malinda F Mayer DIF Clearinghouse POB 527 Cambridge MA 02139 contains file format description contains BASIC program to write DIF contains BASIC program to read DIF contains Apple Pascal program to read DIF The DIF File For Users of VisiCalc & Other Software Donald H Beil Reston Publishing Co (part of Prentice-Hall) Reston VA 1983 ISBN 0-8359-1305-8 (paper) 250pp This file format requires more explanation than just a simple example. _File Formats..._ says: And special thanks to Lotus Development Corporation for the foresight and kindness to place the information about their file format in the public domain. [ is this WKS only or DIF only or both or what? ] 14.4 Lotus 1-2-3 and Symphony formats these are capable formats, but their complexity makes them unusable for all but the most dedicated user. http://ftp.support.lotus.com/ftp/pub/product_information/wsff.zip http://www.wotsit.org/download.asp?f=wks http://www.wotsit.org/download.asp?f=wsff 14.4.1 WKS format Stores: Values, Equations, Simple formatting File format descriptions can be found via the following anonymous ftp sites ftp://ftp.simtel.net/pub/simtelnet/msdos/spredsht/wksffmt.zip http://simtel.coast.net/Coast/msdos/lotus123.html [defunct] FILE: wksffmt.zip SIZE: 22,575 DATE: 900626 DESCRIPTION: Description of Lotus .WKS & .WK1 file formats Lotus File Formats for 1-2-3, Symphony, and Jazz by the people at Lotus Development Corporation ISBN 0-201-16824-3 Lotus Books Addison-Wesley Published 1986 compares VisiCalc files to 1-2-3 files; details file formats for 1-2-3 1A, 2; Symphony 1.0, 1.1; PIC; Jazz; includes Turbo Pascal program to convert text into WKS. Turbo Pascal program obviously not typeset directly from working source, and independently has various out-of-bounds errors; table on p127 claims hex 0=dec 1; p141 claims Jazz had 8192 (and 8191) columns and 256 (and 255) rows. 14.4.2 WK1 format Stores: Values, Equations, Formatting, Named Regions [?] Also See WKS format 14.4.3 WK3 format Stores: Values, Equations, Formatting, Named Regions [?] Also See WKS format 14.5 Quattro and Quattro Pro formats this is a capable format, but its complexity makes it unusable for all but the most dedicated user. Stores: Values, Equations, Formatting, Named Regions [?] [is this the same as any Lotus format?] http://www.corel.ca/partners_developers/ds/co32sdk/docs/qp7/qpf1copy.htm 14.6 SYLK format this is a capable single-sheet format, and would be best for any non-trivial single-sheet spreadsheet interface needs, except for the historical difficulty in locating electronic documentation. [ if ANYONE has a pointer to the official Microsoft specification of this format on the web, PLEASE tell me; only unofficial locations (of what appear to be official specifications) are known ] 14.6.1 documented SYLK Stores: Values, Equations, Formatting, Named Regions http://www.wotsit.org/download.asp?f=sylk http://charon.silesia.linux.org.pl/formaty/bazy_danych/sylk_file_format.txt used by Excel 4 and earlier, and all other SYLK software used by Excel 7 and later (as far as I can tell, except where using features not covered by the original specification) documented in Multiplan manuals (and Walden's and later books) documented in `sylksum.doc' (plain text), which I can no longer find on Microsoft's ftp site or web site, but is temporarily at http://www.worldgate.ca/~rschulz/misc/sylksum.doc . [ do they still have a BBS I could check? ] simple awk code to parse a SYLK file is at http://www.worldgate.ca/~rschulz/misc/parseslk.awk . 14.6.2 Excel 5 SYLK Stores: Values, Equations, Formatting, Named Regions, Charts [?] used by Excel 5 (only?) Born's book documents some (all?) extensions, but I am still looking for documention for them from Microsoft -- what good is having two families of file formats (Excel XLS and Excel SYLK) that pretty much only Excel can read?! in particular, the erroneous `M'atrix modifier has caused me problems with software expecting to read a documented SYLK file. Excel 7 (95) and later seem to be MUCH better at following the documented format (in that they no longer add spurious `M'atrix modifiers like Excel 5 did). 14.6.3 non-English Excel SYLK French Excel 97 saves SYLK files with () around relative references instead of []. I do not know if this problem is present in any other version of Excel. 14.7 Excel formats these are capable formats, but their extreme complexity and volatility makes them unusable for practically everyone except Microsoft and licensees. http://www.wotsit.org/download.asp?f=xls http://www.wotsit.org/download.asp?f=biff includes code to write (not read) Excel files http://www.wotsit.org/wdatabas/msoffice.zip [error 1999-Jun-12] how to get MS Office file format information for free http://www.cubic.org/source/archive/fileform/misc/excel.txt from Microsoft; includes code; for Excel 4 http://www.scitek.demon.co.uk/html/body_excel_toolkit.html [error 1999-Jul-02] http://www.scitek.demon.co.uk/html/body_download_page.html [error 1999-Jul-02] http://www.scitek.co.uk/ [error 1999-Jul-02] libraries for MS Windows, DOS, and Unix (!) to read/write Excel files http://www.gotovbs.com/products.htm search for OpenExchange (and OpenExchange DLL) 14.7.1 Excel 1.0 format 14.7.2 Excel 1.5 format 14.7.3 Excel 2/2.1 format 14.7.4 Excel 3 format 14.7.5 Excel 4 format Stores: Values, Equations, Formatting, Named Regions, Charts, Multiple Worksheets, ... Try to find the Excel 4 SDK (out of print) from Microsoft Press. 14.7.6 Excel 5/7 format Stores: Values, Equations, Formatting, Named Regions, Charts, Multiple Worksheets, ... Buy the Excel 5 SDK from Microsoft -- your bookstore can order it from Microsoft Press (1-800-MS-PRESS). Microsoft Excel Developer's Kit Version 5 Microsoft Press ISBN 1-55615-632-4 Rumor has it that, because they are OLE compound documents, there will be NO official Microsoft libraries to manipulate them, except those on the MS-Windows platform. The 'LAOLA' package is an OLE wrapper library for non-windows platforms. http://user.cs.tu-berlin.de/~schwartz/pmh/laola.html (this non-API method is not guaranteed to work for future versions of OLE -- it only attempts to unravel the current binary file formats.) xls2csv is another project to read xls files: http://www.ice.ru/~vitus/catdoc/xls2csv.html biffview is another project to read xls files: http://www.az.com/~drysdam/projects.html [error 2001/Apr/18] http://freshmeat.net/redir/homepage/900554100/ 14.7.7 Excel 8 format Microsoft Excel 97 Developer's Kit Microsoft Press ISBN 1-57231-498-2 14.8 Applixware/Anyware Spreadsheet format (.as) http://www.vistasource.com/products/axware/fileformats/SSFileFormat.html ======================================================================== 15. Obscure: Free spreadsheets, and source code 15.1 sc Spreadsheet Calculator SimTel: sc621.zip http://simtel.coast.net/Coast/msdos/spredsht.html [defunct] http://simtel.coast.net/cgi-bin/coast/dwn?msdos/spredsht/sc621_3.zip ftp://ftp.coast.net/Coast/msdos/spredsht/sc621.zip [defunct] http://www.simtel.net/pub/simtelnet/gnu/gnuish/sc621.zip 15.1.1 ss interface additions to sc 6.2.1 by: Art Mulder (art.mulder@ualberta.ca) latest version: 1.3.3 http://www.ualberta.ca/~amulder/ss/ [error 1999/Apr/10] 15.1.2 xspread xspread was based on sc. The program xspread is a public domain spreadsheet which runs under X Windows or ascii terminals. Xspread uses the X Window system if available or curses and term[cap/info] for ascii displays. A manual is included. They are available from the usual X ftp places, and locally at ftp://ftp.cs.uwm.edu/pub/soft-eng/ [error 2001/Apr/18] soft-eng@cs.uwm.edu 15.1.2.1 Dismal (Dis Mode Ain't Lotus) http://www.psychology.nottingham.ac.uk/staff/ritter/papers/dismal/dismal.html ... a copylefted spreadsheet that runs in GNU Emacs (and Xemacs). In addition to most spreadsheet things, it includes: optional logging of user actions, a full programming language and access to all internal functions, and some existing functions for HCI design work. A manual is included. 15.1.3 slsc http://space.mit.edu/~davis/ ftp://space.mit.edu/pub/davis/slsc/ additions to sc, including s-lang 15.2 oleo GNU spreadsheet (handles SYLK) ftp://ftp.gnu.org/pub/gnu/oleo/ ftp://prep.ai.mit.edu/pub/gnu/oleo/ ftp://rumple.soas.ac.uk/pub/oleo-1.6.D-patches.tgz http://willow.canberra.edu.au/~rpj/oleotk.html If you want to participate in the alpha/beta cycle, you should subscribe to the bug-oleo list by sending an e-mail to bug-oleo-request@gnu.org with the word "subscribe" in the body of the message. 15.3 teapot Teapot (Table Editor And Planner, Or: Teapot!) http://www.moria.de/~michael/teapot/teapot-en.html 15.4 Borland MicroCalc Borland's Turbo Pascal and Turbo C and Turbo C++ compiler packages have often included source code to a small spreadsheet. 15.5 Herb Schildt's sparse array code Herb Schildt's book _C: The Complete Reference_ has a section on sparse arrays. His main example of where you'd use them is in a spreadsheet. ISBN 0-07-881263-1 (McGraw-Hill 1987) 15.6 siag (Scheme In A Grid) http://siag.nu/ [error 2001/Apr/18] 15.6.1 ksiag (K Desktop Environment SIAG) http://www2.jorsm.com/~mofset/ [error 2001/Apr/18] ftp://ftp.kde.org/pub/kde/unstable/apps/office/ksiag-3.0.6-beta1.tar.gz 15.7 kspread (K Desktop Environment spreadsheet) http://koffice.kde.org/kspread/ http://koffice.kde.org/faq/#KSPREAD http://lists.kde.org/?l=kde-koffice 15.8 ABS abs is a free basic spreadsheet with a graphical user interface. It runs on Linux 2.0 and AIX 4.2.1 . http://www.ping.be/bertin/abs.shtml 15.9 1996 CalPoly VT100 Spreadsheet Project http://cobra.csc.calpoly.edu/~dbutler/projects/spreadsheet/ 15.10 gnumeric http://www.gnome.org/gnumeric/ includes source for reading Excel files 15.11 abacus http://www-cad.eecs.berkeley.edu/HomePages/aml/abacus/abacus.html 15.12 moodss (modular object-oriented dynamic spreadsheet) http://jfontain.free.fr/ 15.13 qtmx http://www.softarc.com/~msharkey/ [error 2001/Apr/18] 15.14 topological sorting http://www.cee.hw.ac.uk/~alison/ds98/node66.html http://www.informant.com/libs/mod/mod9811rs.zip [error 2001/Apr/18] 15.15 xxl http://www.esinsa.unice.fr/xxl.html http://www.linuxjournal.com/issue60/3186.html 15.16 tknum (tk#) http://www.netby.dk/Oest/Europa-Alle/vermeer/ ======================================================================== 16. Obscure: Commercial spreadsheets for UNIX 16.0 Section criteria I will happily include a pointer to any Internet resource (in Section 6) for any spreadsheet manufacturer. In this section, I will also put email addresses and a few telephone numbers (toll-free wherever you are, and internationally-accessible for the rest of the world) for ones which run natively on Unix. 16.1 WingZ wingz-sales@wingz.com 16.2 Xess info@ais.com, support@ais.com +1 919-942-7801 1-800-334-5510 16.3 NeXS nexs-info@xess.com +1 919-387-0076 16.4 MacroCALC Axel_Reinhold@t-online.de 16.5 XQuad info@axene.com 16.6 Mesa info@plsys.co.uk +44 1494 432422 ======================================================================== 17. Obscure: Legal issues 17.1 Patents 17.1.1 Natural Order Recalc (US Patent 4,398,249) see http://www.lpf.org/Patents/against-software-patents.html [error 1998/Jan/24 -- no longer the League for Programming Freedom] see ftp://prep.ai.mit.edu/pub/lpf/techrev.patent [error 1999/Apr/10] see http://lpf.ai.mit.edu/Patents/against-software-patents.html see http://www.gnu.org/bulletins/bull12.html#TOC9 see http://www.hotwired.com/wired/archive/2.07/patents.html see http://www.ba-iplaw.inter.net/info/federal/patent/95-1350.txt [error 2001/Apr/18] see http://www.gcwf.com/articles/ipusum96.htm#patent [error 1998/Sep/02] see http://pennie.com/abs496.htm [error 2001/Apr/18] see http://www.base.com/software-patents/disputes.html 17.2 Interface Copyright 17.2.1 Lotus vs. Borland and Paperback Software see http://www.borland.com/ProgServ/US/legal/lawsuits.html [error 1997/Jun/01] see http://www.borland.com/programs/developer/legal/legal.html [error 2001/Apr/18] see http://www.borland.com/programs/developer/legal/lotus_am.html [error 2001/Apr/18] see http://www.borland.com/programs/developer/legal/lotusbrf.html [error 2001/Apr/18] see ftp://prep.ai.mit.edu/pub/lpf/look-and-feel.text [error 1999/Apr/10] see http://www.computerlaw.com/lookfeel.html ======================================================================== 18. Miscellaneous ======================================================================== 99. Credits I expect most of the information in this FAQ to be supplied by people other than myself -- it's just going to work better that way. The newsgroup readers have a LOT more spreadsheet experience than I ever will (unless I multiply myself by a few thousand, which is not legal with today's tax laws). These people have contributed to the well-being of the FAQ: jwalk [at] cts.com (John Walkenbach) RussTiller [at] aol.com lyn.jolliffe [at] bbsrc.ac.uk negandhi [at] vex.net (Neil Negandhi) cingram [at] gtri.gatech.edu (Chris Ingram) arthur [at] ais.com BaarnsDon [at] msn.com (Donald Baarns) nachum [at] netvision.net.il (Nachum Ginat) dtsmith [at] mindspring.com (Dale Smith) neuwirth [at] smc.univie.ac.at (Erich Neuwirth) hans [at] usit.net (Ed Hansberry) tkm [at] xess.com (Tom Miller) helberg [at] maddog.fammed.wisc.edu (Clay Helberg) booter [at] fea.com (Elaine Richards) richard [at] warr.cc (Richard Warr) 100322.1465 [at] compuserve.com (Born Guenter) vlod [at] iisc.co.uk (vlod kalicun) steve [at] emer.com (Steve Wilson) fahmy [at] xlstat.com (Dr. Thierry Fahmy) steelera [at] pilot.msu.edu (Ray M. Steele) pjraval [at] ix.netcom.com (P. Raval) dsherman [at] iwaynet.net (David Sherman) Dave_Weintraub [at] jhuapl.edu michael [at] cantor.informatik.rwth-aachen.de (Michael Haardt) aroberts [at] usq.edu.au (Tony Roberts) eonsol [at] cix.compulink.co.uk (Jeff Hall) softbase [at] mercury.interpath.com (Scott McMahan) nlunger [at] epix.net (Norman Lunger) phillip [at] pm.cse.rmit.edu.au (Phillip Musumeci) andy.wiggins [at] bygsoftware.com (Andy Wiggins) the_mrs [at] geocities.com abarr [at] onramp.net (Allen F. Barr) scotfos [at] rosemount.com (Scot Foss) joseph.billo [at] bc.edu (Dr. E. Joseph Billo) gharmer [at] vitgcrp1.telecom.com.au (Greg Harmer) G.Dunn [at] Queens-Belfast.ac.uk (George Dunn) ma [at] informatik.uni-kiel.de (Martin Ameskamp) peter.allan [at] aeat.co.uk Rsclient [at] aol.com (Peter Smith) T.Harden [at] tu-bs.de (Torsten Harden) eschner [at] w-4.de (Hanfred Eschner) goinssouth [at] worldnet.att.net (Steven Goins) gswebstr [at] budget.com.au (Graham Webster) panko [at] hawaii.edu (Ray Panko) arun [at] fsc.fujitsu.com (Arun Ubale) dcromley [at] wyoming.com (Dave Cromley) apd230 [at] voicenet.com (Maciej Gorny) october [at] direct.ca (Kris Plasun) wclark [at] worldnet.att.net (Bill Clark) berglas [at] it.uq.edu.au (Anthony Berglas) johnw [at] MAG-NET.CO.UK (John Whittington) stimpy [at] maas.net (Jon Dalberg) anonymous (Brian Ewins) hidronet [at] mail.telepac.pt (R. Carvalho) jrlatour [at] SPAMARAMA.perigee.net (John) n.youngman [at] videonetworks.com (Neil Youngman) paul-lemay [at] home.com breiter [at] mathematik.Uni-Osnabrueck.DE (Bernhard Reiter) jkinlan [at] kmt.com (Jim Kinlan) mbetz [at] bellatlantic.net (Mark Betz) cbbrowne [at] news.brownes.org (Christopher B. Browne) warren [at] borg.com (Warren A. Hall) softw.guide [at] writeme.com (Ricardo Carvalho) reckteac [at] ibex.ca (Achim Rectenwald) greg [at] gtravis.ucs.indiana.edu (Gregory R. Travis) bod [at] compusol.com.au (Brendan O'Dea) ats [at] acm.org (Alan Shutko) aswerle [at] aol.com (ASWERLE) hadleysw [at] ornl.gov (Stanton W. Hadley) Frank.Ritter [at] nottingham.ac.uk munged (Eric Brunelle) walterg [at] flash.net (Walter George) Gordon.Filby [at] pef.fzk.de munged (Adam Schneider) mixa [at] nbd.kis.ru (Michael Zemljanukha) eero.hyvonen [at] delisoft.fi (Eero Hyv o: nen) m.strandgard [at] nre.vic.gov.au (Martin Strandgard) Brian.Farrelly [at] nho.hydro.com Par-Golfer [at] msn.com (Alan P. Moynihan) stevem [at] iea.com (Steve McGrew) tehall [at] lucent.com (Troy Hall) john-d [at] dircon.co.uk (John Douglas) emil [at] conceptdata.com (Emil Sildos) 104074.3422 [at] compuserve.com (David Hager) bernie [at] octavian.com (Bernie Wieser) mmartin [at] azschbdassn.org (Mike Martin) jbailey [at] nisa.net (Jeff Bailey) S_Kelly [at] bigpond.com.au (Shauna Kelly) schwartz [at] cs.tu-berlin.de (Martin Schwartz) munged (Bob Flanagan) tonypay [at] dircon.co.uk (Tony Pay) munged (Marc Bjorklund) cpearson [at] gvi.net (Chip Pearson) gary.barlow [at] bbc.co.uk LEEPF [at] tst.tracor.com (Phil Lee) longre [at] wanadoo.fr (Laurent Longre) svass [at] provide.net (Steven) dcm [at] c-sw.com (David) yalmog [at] inter.net.il Larry_Warner [at] geoworks.com (Larry Warner) mq [at] scitek.co.uk popx [at] ermine.ox.ac.uk (Jocelyn Paine) visser.b [at] pandora.be (Ber Visser) jplerat [at] isospice.com (Jean-Philippe LERAT) ahaag [at] horiba.com (Haag, Achim) gmckitt [at] erols.com rudyf [at] mail.one.net (Rudy Forsberg) frank [at] dolphintechnology.com (Frank Isaacs) mrmazda [at] gate.net (Felix Miata) jh [at] analyse-it.com (James Huntington) munged (Kevin Romero) vitus [at] wagner.rinet.ru (Victor Wagner) pgc [at] tigerdrive.com (Paul Crissy) harald.staff [at] nrk.no (Harald Staff) myotis [at] cix.co.uk (Graham M Smith) rodney [at] beyondtechnology.com (Rodney Powell) sue.baker [at] morevision.com (Sue Baker) support [at] lapsoft.com flip [at] mrflip.com (Philip Flip Kromer) timdavis [at] bellsouth.net (Tim Davis) harke [at] cs.ualberta.ca (Tom Harke) pae [at] dim.com (Phil Earnhardt) scottcleave [at] csi.com (Scott Cleave) DMcRitchie [at] msn.com (David McRitchie) dhawley [at] geo.net.au (David Hawley) Thanks. ======================================================================== thus endeth the cas FAQ.