oppure con un po' di javascript
codice:
<script language="javascript">
function repeatHeaders(tbl,rep) {
  var allRows = document.getElementById(tbl).getElementsByTagName('tr');
  var thRow = allRows[0].innerHTML;
  for (var i = 1; i*rep < allRows.length; i++) {
    var newRow = document.getElementById(tbl).insertRow(i*rep);
    newRow.innerHTML = thRow;
  }
}
</script>
il che prevede di avere una tabella del genere
codice:
<table id="tuatabella">
  <tr>
    <th>Intestazione 1</th>
    <th>Intestazione 2</th>
    <th>Intestazione 3</th>
    ...
    <th>Intestazione n</th>
  </tr>
  <tr>
    <td>Data 1_1</td>
    ...
  </tr>
</table>
La funzione può essere richiamata con
codice:
<body onload="repeatHeaders('tuatabella', 20);">
dove 20 è ogni quante righe vorrai ripetere le intestazioni.
Chiaramente, essendo una funzione javascript, andrà bene fintanto che il client non avrà javascript disattivato... per cui se vuoi una soluzione veramente universale e quelle librerie che ti hanno linkato la forniscono server-side, tanto meglio... server-side funzionerà sempre, indipendentemente dalle impostazioni del client.