Bug 198070 ArrayIndexOutOfBoundsException throws out for grid with ZERO columns
The exception stack is: java.lang.ArrayIndexOutOfBoundsException: -1 at org.eclipse.birt.report.engine.emitter.excel.layout.LayoutUtil.createTable(LayoutUtil.java:96) at org.eclipse.birt.report.engine.emitter.excel.ExcelEmitter.startTable(ExcelEmitter.java:128) at org.eclipse.birt.report.engine.layout.html.HTMLTableLayoutNoNestEmitter.startTable(HTMLTableLayoutNoNestEmitter.java:72) at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil$StartContentVisitor.visitTable(ContentEmitterUtil.java:82) at org.eclipse.birt.report.engine.content.impl.TableContent.accept(TableContent.java:87) at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil$StartContentVisitor.visit(ContentEmitterUtil.java:55) at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:42) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.startContent(HTMLAbstractLM.java:113) at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:84) at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:171) at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layoutChildren(HTMLPageLM.java:142) For an empty GRID, the BIRT will create a table content with ZERO columns, XLS should handle it gracefully.
engine/org.eclipse.birt.report.engine.emitter.prototype.excel/src/org/eclipse/birt/report/engine/emitter/excel/layout/LayoutUtil.java
{
	public static int[] getColumnWidth( TableInfo table, int width )
	{
		int[] col = new int[table.getColumnCount( )];
		int tmp = 0;
		int nullNumber = 0;
		for ( int i = 0; i < table.getColumnCount( ); i++ )
		{
			int colwidth = table.getColumnWidth( i );
			
			if ( colwidth == 0 )
			{
				nullNumber++;
				col[i] = -1;
			}
			else
			{
				col[i] = colwidth;
				tmp += col[i];
			}
		}
		
		if ( nullNumber != 0 )
		{
			int aveWidth = ( width - tmp ) / nullNumber;
			tmp = 0;
			for ( int i = 0; i < col.length; i++ )
			{
				if ( col[i] == -1 )
				{