Que tal cores?

Tá certo, vamos por algumas cores ali. O melhor jeito de fazer isso é usando arquivos CSS para informar qual é o layout do elemento. Se você não conhece o que é CSS, procure na rede, é fácil, é um modo de definir classes para uso no seu layout HTML, para dar uma resumida.
O PHPReports permite que você use dois atributos para informar as classes CSS que você quer no seu relatório: TEXTCLASS, define o layout do elemento texto, e CELLCLASS, define o layout da célula da tabela (toda a página é uma tabela HTML, você notou?).
Para usar o CSS, primeiro, precisamos criar um arquivo CSS com as classes que queremos, e criar um elemento para informar o path do arquivo CSS. Então usamos os atributos TEXTCLASS e CELLCLASS em todos os elementos que precisamos (algumas vezes você não precisará do TEXTCLASS - você pode definir tudo o que você precisa no CELLCLASS). Vamos dar uma olhada no arquivo sales3.xml (note a segunda linha, estou usando agora a instrução DTD):
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE REPORT SYSTEM "PHPReport.dtd">
<REPORT>
   <TITLE>Sales Report</TITLE>
   <BACKGROUND_COLOR>#FFFFFF</BACKGROUND_COLOR>
   <CSS>phpreports.css</CSS>
   <PAGE BORDER="1" SIZE="25" CELLSPACING="0" CELLPADDING="5" WIDTH="500">
      <HEADER>
         <ROW>
            <COL COLSPAN="5" CELLCLASS="PAGE_LAYER" TEXTCLASS="BOLD">John Doe Enterprises</COL>
         </ROW>
         <ROW>
            <COL COLSPAN="5" CELLCLASS="PAGE_LAYER" TEXTCLASS="BOLD">Sales Report</COL>
         </ROW>
      </HEADER>		
      <FOOTER>
         <ROW>
            <COL ALIGN="RIGHT" COLSPAN="4" CELLCLASS="PAGE_LAYER">page total</COL>
            <COL ALIGN="LEFT" NUMBERFORMATEX="2" CELLCLASS="PAGE_LAYER" TEXTCLASS="BOLD" TYPE="EXPRESSION">$this->getSum("value")</COL>
         </ROW>
      </FOOTER>		
   </PAGE>
   <GROUPS>
      <GROUP NAME="maingroup">
         <FIELDS>
            <ROW>
               <COL TYPE="FIELD" CELLCLASS="GROUP_LAYER">id</COL>
               <COL TYPE="FIELD" CELLCLASS="GROUP_LAYER">name</COL>
               <COL TYPE="FIELD" CELLCLASS="GROUP_LAYER">city</COL>
               <COL TYPE="FIELD" CELLCLASS="GROUP_LAYER">product</COL>
               <COL TYPE="FIELD" CELLCLASS="GROUP_LAYER">value</COL>
            </ROW>
         </FIELDS>
      </GROUP>
   </GROUPS>
</REPORT>
Aqui podemos conversar sobre um novo recurso na versão 0.0.9: o arquivo PHPReportPreview.php, onde você pode ter um preview de como seu relatório vai ficar *antes* de rodar ele com dados. Isso pode economizar algum tempo, algumas vezes sua consulta ao banco de dados pode ser demorada, então você pode fazer algumas mudanças e correções antes.
Para usá-lo você precisa apontar seu navegador para onde o PHPReportPreview.php está e usar um parâmetro chamado xml com o caminho completo do seu layout XML do relatório, assim:
http://localhost/phpreports/PHPReportPreview.php?xml=sales3.xml
Você *deve* rodar o PHPReportPreview.php no mesmo diretório onde está o PHPReportPreview.xsl, mas isso pode ser alterado facilmente no arquivo PHPReportPreview.php. Facinho!

O preview vai se parecer com isso:

sales3.xml preview file

O relatório com os dados vai se parecer com isso:

sales.xml result file

Agora você me pergunta "e se eu quiser fazer linhas pares de ímpares serem diferentes? Isso pode me ajudar a visualizar um monte de dados!" ... ok, tem dois parâmetros que fazem isso. Use CELLCLASSEVEN (par) e CELLCLASSODD (ímpar! ganhei!) do jeito que estão em sales3b.xml (mas é importante dizer que você tem que usar ambos os parâmetros e quando os usar não pode usar o parâmetro CELLCLASS):
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE REPORT SYSTEM "PHPReport.dtd">
<REPORT>
   <TITLE>Sales Report</TITLE>
   <BACKGROUND_COLOR>#FFFFFF</BACKGROUND_COLOR>
   <CSS>phpreports.css</CSS>
   <PAGE BORDER="1" SIZE="25" CELLSPACING="0" CELLPADDING="5" WIDTH="500">
      <HEADER>
         <ROW>
            <COL COLSPAN="5" CELLCLASS="PAGE_LAYER" TEXTCLASS="BOLD">John Doe Enterprises</COL>
         </ROW>
         <ROW>
            <COL COLSPAN="5" CELLCLASS="PAGE_LAYER" TEXTCLASS="BOLD">Sales Report</COL>
         </ROW>
      </HEADER>		
      <FOOTER>
         <ROW>
            <COL ALIGN="RIGHT" COLSPAN="4" CELLCLASS="PAGE_LAYER">page total</COL>
            <COL ALIGN="LEFT" NUMBERFORMATEX="2" CELLCLASS="PAGE_LAYER" TEXTCLASS="BOLD" TYPE="EXPRESSION">$this->getSum("value")</COL>
         </ROW>
      </FOOTER>		
   </PAGE>
   <GROUPS>
      <GROUP NAME="maingroup">
         <FIELDS>
            <ROW>
               <COL TYPE="FIELD" CELLCLASSEVEN="GROUP_LAYER" CELLCLASSODD="YELLOW_ROW">id</COL>
               <COL TYPE="FIELD" CELLCLASSEVEN="GROUP_LAYER" CELLCLASSODD="YELLOW_ROW">name</COL>
               <COL TYPE="FIELD" CELLCLASSEVEN="GROUP_LAYER" CELLCLASSODD="YELLOW_ROW">city</COL>
               <COL TYPE="FIELD" CELLCLASSEVEN="GROUP_LAYER" CELLCLASSODD="YELLOW_ROW">product</COL>
               <COL TYPE="FIELD" CELLCLASSEVEN="GROUP_LAYER" CELLCLASSODD="YELLOW_ROW">value</COL>
            </ROW>
         </FIELDS>
      </GROUP>
   </GROUPS>
</REPORT>
E temos:

sales.xml result file

E olha as cores aí!!! :-)