Como funciona

Primeiro você precisa de um computador rodando Apache e PHP, compilado com as libs Sablotron libs ou libxstl para fazer as transformações XML/XSLT.
Eu rodo tudo isso no Linux, mas se você quiser usar em outros SOs é sua escolha. :-)

O que são esses coisas (classes PHP classes, arquivos XML, transformação XSL)?

Os arquivos do PHPReports são usados para transformar arquivos XML de layout de relatório em código PHP, usado por classes PHP pré-definidas para gerar seus relatório na janela do navegador.
O pacote do PHPReports vem com duas dessas coisas:
Os passos para gerar seu relatório são: criar seu layout XML do relatório, incluir um arquivo PHP pré-definido e chamar as funções do relatório.
Você vai precisar de algum entendimento de como o XML funciona, mas isso é muito simples, há bons tutoriais na rede.

O arquivo XML

A principal coisa a respeito do arquivo XML é baseada em três camadas (olhe as cores no exemplo):

  1 - A camada do relatório, é a camada mais externa do relatório. Ela manipula todos os valores processados no relatório como um todo.
  2 - A camada da página manipula todos os valores da página corrente, zerando-os no final da página.
  3 - A camada dos grupos manipula todos os valores no grupo corrente, zerando-os no final do grupo.

Mas o que é um grupo? Um grupo é uma "quebra" no relatório baseada em alguma expressão que você tenha. Por exemplo, nesse tipo de relatório:

Empresas João Ninguém
Relatório de vendas
cidade: Sao Jose do Rio Preto, SP
código nome produto $
00001 Eustaquio Rangel Livro - Linux Programming Guide 25.00
00002 Ana Carolina Livro - Photoshop 7.0 22.50
total 47.50
cidade: Sao Paulo, SP
código nome produto $
00003 Andre Kada CD - Kreator - Violent Revolutions 15.00
total 15.00
total da página 62.50
total do relatório 62.50

Há um total para cada cidade, um total para a página corrente e um total para o relatório todo.
O PHPReports pode utilizar todos esses valores, com funções como SUM(), AVG(), MIN() e MAX().
O arquivo XML para o exemplo acima seria assim:

<REPORT>
   <TITLE>Relatório de vendas</TITLE>
   <BACKGROUND_COLOR>#FFFFFF</BACKGROUND_COLOR>
   <CSS>johndoe.css</CSS>
   <DOCUMENT>
      <FOOTER>
         <ROW>
            <COL COLSPAN="3" TEXTCLASS="BOLD" ALIGN="RIGHT">total do relatório</COL>
            <COL TYPE="EXPRESSION" TEXTCLASS="BOLD" ALIGN="RIGHT" NUMBERFORMATEX="2">$this->getSum( "VALUE" )</COL>
         </ROW>
      </FOOTER>
   </DOCUMENT>
   <PAGE>
      <HEADER>
         <ROW>
            <COL COLSPAN="4" TEXTCLASS="BOLD">Empresas João Ninguém</COL>
         </ROW>
         <ROW>
            <COL COLSPAN="4" TEXTCLASS="BOLD">Relatório de vendas</COL>
         </ROW>
      </HEADER>
      <FOOTER>
         <ROW>
            <COL COLSPAN="3" TEXTCLASS="BOLD" ALIGN="RIGHT">total da página</COL>
            <COL TYPE="EXPRESSION" TEXTCLASS="BOLD" ALIGN="RIGHT">$this->getSum( "VALUE" )</COL>
         </ROW>
      </FOOTER>
   </PAGE>
   <GROUPS>
      <GROUP nome="cidadeBreak" EXPRESSION="cidade">
         <HEADER>
            <ROW>
               <COL ALIGN="RIGHT">cidade:</COL>
               <COL TYPE="EXPRESSION" COLSPAN="3" TEXTCLASS="BOLD">$this->getValue( "cidade" )</COL>
              </ROW>
            <ROW>
               <COL>código</COL>
               <COL>nome</COL>
               <COL>produto</COL>
               <COL>$</COL>
            </ROW>
         </HEADER>
         <FOOTER>
            <ROW>
               <COL ALIGN="RIGHT">total</COL>
               <COL TYPE="EXPRESSION" COLSPAN="3" TEXTCLASS="BOLD" ALIGN="RIGHT">$this->getSum( "VALUE" )</COL>
            </ROW>
         </FOOTER>
         <FIELDS>
            <ROW>
               <COL TYPE="FIELD">ID</COL>
               <COL TYPE="FIELD">nome</COL>
               <COL TYPE="FIELD">produto</COL>
               <COL TYPE="FIELD" ALIGN="RIGHT" NUMBERFORMATEX="2">VALUE</COL>
            </ROW>
         </FIELDS>
      </GROUP>
   </GROUPS>
</REPORT>

Não é tão difícil se você pensar no seu relatório como uma tabela HTML (para ser honesto, ELE É uma tabela HTML):

Empresas João Ninguém
Relatório de vendas
cidade: Sao Jose do Rio Preto, SP
código nome produto $
00001 Eustaquio Rangel Livro - Linux Programming Guide 25.00
00001 Eustaquio Rangel Livro - Design Patterns 35.00
00002 Ana Carolina Livro - Photoshop 7.0 22.50
total 82.50
cidade: Sao Paulo, SP
código nome produto $
00003 Andre Kada CD - Kreator - Violent Revolutions 15.00
total 15.00
total da página 97.50
total do relatório 97.50

Viu como funciona? Dê uma olhada na similaridade de ROW (linha) e COL (coluna) com o TR e TD do HTML (é a mesma coisa!).
O jeito mais fácil de fazer seu relatório é pegar um pedaço de papel, desenhá-lo como uma tabela HTML (não, não vá direto para o computador para fazer isso, é melhor fazer antes em um pedaço de papel) e criar o arquivo XML. Não se esqueça que no exemplo acima não estou tratando ainda de consultas SQL e coisas do tipo.

O arquivo XSL

O que o arquivo XSL faz é pegar o seu layout de relatório XML e converter ele para o código PHP que vai utilizar as classes PHP pré-definidas do pacote. Você apenas precisa usar uma função (makeReport, definida no arquivo PHPReportMaker.php) or criar um objeto PHPReportMaker e chamar o método run dele. Transformações XSL é uma coisa legal para aprender, se você quiser saber mais sobre isso há sempre bons tutoriais na rede, por exemplo (para ambos XML e XSL) tem a turma da W3Schools que fazem um bom trabalho ensinando isso de graça.
Há também um tutorial básico disso no meu site.
Dê uma olhada na seção de exemplos.