Ostatnio przerabiałem ten temat.
Możesz śmiało przerobić mój skrypt :
U mnie musiałem wygenerowaną tabelę wrzucić do *.doc. Zrobiłem to tak, że w skrypcie generującym tabelę utworzyłem zmienną sesyjną, do której przypisałem cały kod tabeli. Na stronie zrobiłem buttona kierującego do skryptu eksportującego. A oto on :
<?php
$word_xmlns = "xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' encoding='UTF-8' xmlns='http://www.w3.org/TR/REC-html40'";
$word_xml_settings = "<xml><w:WordDocument><w:View>Print</w:View><w:Zoom>100</w:Zoom></w:WordDocument></xml>";
$word_landscape_style = "@page {size:8.5in 11.0in; margin:0.5in 0.31in 0.42in 0.25in;} div.Section1{page:Section1;}";
$word_landscape_div_start = "<div class='Section1'>";
$word_landscape_div_end = "</div>";
$content = '
<html '.$word_xmlns.'>
<head>'.$word_xml_settings.'<style type="text/css">
'.$word_landscape_style.'
tutaj możesz sobie ustalić własne style, których używasz do formatowania formularza
table.lista1{
border-collapse: collapse;
text-align: center;
font-family: verdana;
text-align: center;
background-color: #ffffff;
font-size: 11px;
width: 700px;
}
td.lista_kategoria_ogolne{
background-color: #a38df4;
font-weight: bold;
border: 1px solid;
}
td.lista{
border: 1px solid;
}
p{
text-align: center;
font-family: verdana;
text-align: center;
background-color: #ffffff;
font-size: 11px;
font-weight: bold;
}
</style>
</head>
<body>'.$word_landscape_div_start.$content.$word_landscape_div_end.$title.$_SESSION['raport'.$id][0].'</body>
</html>
';
@header('Content-Type: application/msword; encoded-word'); @header('Content-disposition: inline; filename="raport.doc"');
?>
Zamiast $_SESSION['raport'.$id][0] wpakuj swój formularz i masz problem rozwiązany.
Powodzenia!