Autogenerating HTML tables – some help

Doing complex tables in HTML can be frustrating and challenging. There is quite a bit of help on the internet including tools for helping to build tables. Some of my previous posts discuss other help that is available.

In this post, I briefly discuss a tool I have written that helps to compose HTML tables. It can take quite a bit of time but the end results can be nice also.

Read more

Web scripting and web auto-generation tools. HTML table generator.

Web scripting and web auto-generation tools. HTML table generator.

I really like the art sketch that I just posted, so I will include it again to see how it works out in this table.

Web scripting and web auto-generation tools. HTML table generator.

Web scripting and web auto-generation tools. HTML table generator.

Web scripting and web auto-generation tools. HTML table generator.

Having a good cutie pie fish background is important for doing web pages with complex tables with complex attributes and style elements.

Web scripting and web auto-generation tools. HTML table generator.

Web scripting and web auto-generation tools. HTML table generator.

I have just created a tool that helps build tables. The details of setting up the td attributes in large tables can be tedious and error prone. This tool does some of these layout functions that can help reduce errors and tedium.

You can specify attributes and style attributes for 1. the entire table, 2. each table row, 3. each table column, and 4. any individual td cell. The latter values will override any former value both for attributes and for style subattributes.

Web scripting and web auto-generation tools. HTML table generator.

Well, actually this is a tool written in c/c++ which will generate a table from a given input data file. It is hard to use, is incredibly unforgiving of errors, but once you get the input file set up (properly) you can edit the individual files that are included, and not worry any more about the table details. This can be useful for example in creating a layout or design. After that, you just edit individual input files.

This is an auto-generation tool, which I also call web scripting, in that it computes the web page table layout and includes the specified files into the individual td cells.

I first created this tool is 1994 and have worked on it in an on/off fashion since then. I have recently added a set of changes pertaining to the parsing of style sub-attributes.

The style parser is what is new here. It is implemented as a single character token parser in a state machine (switch statement in c). There is one case where a single character putback is done and otherwise it is all forward scanning of character tokens. I decided to implement this in a semi-pure sense, and I debated this implementation detail a while. It involves scanning for ';' and ':' characters and building a dictionary of style attributes that match the style names.

It does not handle errors very well and an error in the input file, such as an error in a style specification, can cause the program to crash. Usually you begin with a simple file and then work incrementally, adding more items, such as style elements, in a slow fashion.

The input file for the 2 x 2 table looks like this. It begins with a table definition, the attributes for all rows, and then the attributes for all cells. Next there are two entries for row 1 and row 2, and then two entries for columnn 1 and 2. Then style elements are specified for each row/column value and after the *end* block the matrix of files to include in each cell is specified. For example, this entry, the 1,2 table entry is contained in the file wa.txt. Well, ok, it's not that hard.

2 2
border="4" cellpadding="5" cellspacing="10" style="width: 100%; background-color: #f00000; background-image: url('http://www.georgeschils.com/ph07/css/darkpurplepat.jpg');"
style="vertical-align: top;"
style="height: 30px;"
style="background-color: #aa66ff;"
style="background-color: #fa66af;"


1 1 style="background-color: #a00000; color: #ffffff;"
1 2 style="background-color: #f00000; color: #ffffff;"
2 2 style="background-image: url('http://www.georgeschils.com/w1/sty/smv_32_r1.jpg');"
*end*
1 1 one.txt
1 2 wa.txt

I'd make this tool for sale but there won't be one person on the planet who is interested. It might not be impossible to get a no cost binary windows build if you ask (send an email). I will give out a few free copies to people who ask.

If you Google for "html table generation tools" or something similar, you will find around a ba-zillion tools, many of them free, for doing this. For example, see this on-line table generator.

Take 1, update 1.