Maarten Balliauw {blog}

Web development, NuGet, Microsoft Azure, PHP, ...


Article in .NET magazine

The new .NET magazine Belgium/Netherlands has been distributed to all subscribers. For the latest edition, #15, I've written an article on the basic principles and usage of NHibernate, an ORM-mapper for the .NET platform. It's written in Dutch, so I must disappoint my English blog readers...

A PDF version and example code can be downloaded on the .NET magazine #15 homepage. Comments can be posted on this blog post.

Office 2007 SpreadsheetML classes in PHP

In my evening hours, I've been working on a set of PHP classes to create Offixe 2007 SpreasheetML documents (.xlsx files). I finished my first goals (some basic XLSX writing), and I want to share this set of classes to the community.


Currently, the following features are supported:

  • Create a Spreadsheet object
  • Add one or more Worksheet objects
  • Add cells to Worksheet objects
  • Export Spreadsheet object to Excel 2007 OpenXML format

Each cell supports the following data formats: string, number, formula, boolean.

Visual formatting is not implemented, but I'll get to that later.

An example of what can be achieved, can be found in this example XLSX file.


A download of my class set can be found here. Class documentation is included.
Please note that I am releasing this under GPL license.


One of my main design goals was to create a set of classes that can provide multiple output formats, and eventually later some input formats too. If you want to create ODF or XLS writers, create classes that implement IWriter.

Next to this, I've been using the PEAR and Zend class hierarchy style, which makes it easier to use from within PEAR and Zend classes.

Usefull links