FrequentlyAskedQuestions


The following are (more or less) questions I've been sent via email. To save us both some time I've listed the answers I sent. If these don't satisfy you, feel free to [drop me a line].


I need an Excel formula parser for my research project/company IT project/job at Microsoft. Can you send me yours?

I'm not sure my formula parser would be useful to you in it's current form as it is coupled with my internal representation of Excel.

The first place to look for links would be: http://www.mcs.vuw.ac.nz/~elvis/db/reference.html

But probably the best place to look is JExcelApi? http://www.andykhan.com/excelread/index.html , which will both read and parse BIFF encoded files.

Another good option would be to construct your own parser using a grammar and a parser generator.

My grammar for Excel is here: Excel

Some Java parser tools:


Your Excel grammar is missing X.

Hmm, I didn't know Excel supported X syntax. I'm not actively working on that project at the moment, but if I get a second I'll at least make a note on the grammar page that it's missing.


Can your spreadsheet application extract the information from an Excel file and then perform all the calculations (in the right order)? AKA Please implement Excel for me.

I investigated conversion using Java in 2002. The process generally involves reading Microsoft's BIFF encoding and recognising the different elements. This is no simple feat, given the proprietary nature of BIFF. I found the easiest way to do this was using a third party BIFF reader, such as JExcelAPI? (http://www.andykhan.com/excelread/index.html), ExcelAccessor? (http://www.alphaworks.ibm.com/ab.nsf/bean/ExcelAccessor), or HSSF (http://jakarta.apache.org/poi/hssf/index.html).

Performing the calculations is an entirely different problem. I got as far as a partial formula parser. The next step would be to use the parse trees to evaluate the formula. This, however, was beyond the scope of my project and I imagine would be equivalent to implementing the Excel spreadsheet myself. Given how long Microsoft has been developing Excel, this could take me a really significant amount of time.

One option you might want to look into would be an open source spreadsheet application. You may be able to bootleg code into it do most of the hard work for you.

What about any VBA code present in the spreadsheet?

The BIFF readers I used never allowed the extraction of VBA code from an Excel file. Even if I could read it, I'd be in the same situation of writing a parser and interpreter for it. Again, this would be a major undertaking.

Any other ideas how I can make this possible?

You may want to investigate a C++ solution, as I haven't really touched on that area. Another option that would be more reliable would be to use VBA within Excel to extract the information you need. I guess it really depends on how much coupling you can afford to have to a Microsoft application.


I need to be able to do X in a spreadsheet. Can you craft me a formula that will do X and save my company hundreds maybe thousands of dollars?

I'm not really wanting to operate as a free Microsoft helpdesk. That said I may be feeling generous and try to help you. No guarantees though.

You could also try SpreadsheetFormula.


You listed my product/work on your [reference page]. Can you explain why it only got a FishRank? of X?

The ratings were purely a measure of how relevant I felt the reference was to my project. Generally I would have a quick read and then pull a rating out of my head, so there are no formula used to derive it.

If you feel strongly that me rating your product lower than that of your competitor is having an impact on your business, then I'm happy to review my rating. If that fails, remember that money talks. :)


Were having a big conference about spreadsheets. Would you like to contribute/attend? Also, can you please inform your pairs and generally give us free advertising?

Again, I'm not actively working on my honour project anymore, so I haven't been producing any new work to write about. If I think it sounds like a good conference I'll make a page on either this Wiki or ElvisBrain?.


Why the obsession with Fish and all the funny page names?

I think the association mainly comes from my penchant for water.

When it comes to sporting activities I'm what you might call a FishOutOfWater?, as I'm generally more coordinated when I'm submerged. This is probably due to my past (and sometimes current) involvement in WaterPolo?.

I also have a tendency to drink a lot (water of course ;) ).


Your site is pretty styling, can I use your StyleSheets? without paying you royalties?

Yeah, if you want to use them you can. All I ask is that you leave some form of reference to me in the style sheets. Also, drop me a line and tell me where your using them.

If you don't know about View > Page Source you can always visit http://www.mcs.vuw.ac.nz/~elvis/db/style/ to get a copy of any of the StyleSheets? I use.

Several of them are strongly based on styles I've seen on other sites, which I mention on the [styles] page. If you wanted to use them on a commercial site it might pay to check with the original site first.

Last updated 26-Jul-2006, Contact Page Author.