Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

comp.apps.spreadsheets FAQ

1 view
Skip to first unread message

cas...@locutus.ofb.org

unread,
Jun 24, 2002, 1:00:00 AM6/24/02
to
Archive-name: spreadsheets/faq
Author: cas...@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 LIST...@PEACH.EASE.LSOFT.COM

to subscribe to the list, send mail with the line
SUB EXCEL-G us...@domain.name Firstname Lastname
to LIST...@PEACH.EASE.LSOFT.COM

Mailing list: Excel Developer
EXCEL-L

for information, send mail with the line
INFO EXCEL-L
to LIST...@PEACH.EASE.LSOFT.COM

to subscribe to the list, send mail with the line
SUB EXCEL-L us...@domain.name Firstname Lastname
to LIST...@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...@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

ord...@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.m...@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...@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...@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...@wingz.com

16.2 Xess

in...@ais.com, sup...@ais.com
+1 919-942-7801
1-800-334-5510

16.3 NeXS

nexs...@xess.com
+1 919-387-0076

16.4 MacroCALC

Axel_R...@t-online.de

16.5 XQuad

in...@axene.com

16.6 Mesa
in...@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.

0 new messages