Made extensive modifications to the outputting code to handle iterating over UIColumns, which was exacerbated by the UIColumns having an unspecified number rows, requiring actual iteration to determine where the includeColumns indexes would end up being.
Testing should involve having a mix of several ice:columns interspersed with several ice:column objects. There should be two main scenarios: one with includeColumns specified, using out of sequence columns indexes which correspond to both ice:column and ice:columns, and the other scenario without includeColumns specified. That should cover most of the code paths. Testing with Excel is easier than CSV, since CSV intentionally omits outputting the column headers.
icefaces 2 trunk