avevo fatto qualcosa tempo fa, avevo messo un terminatore di campo ed uno di riga, quindi eseguivo l'explode prima della riga e poi dei campi. Ovviamente se un campo era vuoto conteneva pero sempre il suo bel separatore.
In solido... se i campi erano tutti compilati .. tutto OK, altrimenti ci infilavo uno spazio "  ;" e nessun colspan tanto difficile da gestire se le colonne possono o non possono esserci, quanto inutile.

Rispondi quotando