Вы пытались использовать RowView:
Sheet s = ...
Colour[] colorings = new Colour[]{Colour.GOLD, Colour.OCEAN_BLUE};
for(int i=0;i<s.getRows();i++){
CellView rowView = s.getRowView(i);
WritableCellFormat newFormat = new WritableCellFormat(rowView.getFormat());
newFormat.setBackground(colorings[i%2]);
rowView.setFormat(newFormat());
}
Я думаю, что это должно достичь эффекта, который вы ищете. Примечание. Я скопировал существующий формат выше, но если у вас еще нет форматов, примененных к строкам, вы можете создать два формата и использовать их повторно. Единственное другое предостережение - я полагаю, что любой формат, примененный к конкретной ячейке, переопределит формат представления, поэтому вам может потребоваться убедиться, что отдельные ячейки отформатированы так, чтобы они имели цвет DEFAULT или AUTOMATIC (я не совсем уверен в этом, так как я сам не пробовал).