Intereting Posts
Как создать параметр внутри тега select динамически с текстом ответа ajax в php? обрезать изображение после изменения размера в библиотеке GD Добавить Access-Control-Allow-Origin в заголовок в PHP сбережение ошибок OneToMany и ManyToMany с Doctrine 2 Поиск количества узлов в PHP, DOM, XPath Установить файл cookie после отправки в браузер Что здесь означает этот оператор? Как бы вы закодировали сайт антиплагиата? Parse PHPExcel файл как HTML Как использовать цикл PHP while, чтобы преобразовать эти ссылки p-тегов в видеоролики youtube? Как отображать информацию, если значение тега равно X GAE, PHP и GCM: не удалось открыть поток: HTTP-запрос не удался! Метод HTTP / 1.0 405 не разрешен Как подождать перезагрузки страницы при тестировании интеграции Laravel Curl Redirect: Почему FOLLOWLOCATION не соответствует правильному DOMAIN Как узнать, является ли строка сериализованным объектом / массивом или просто строкой?

Как экспортировать таблицу html в excel или pdf в php

На моей странице php у меня есть таблица, и если пользователь требует, чтобы он экспортировал эту таблицу в Excel.

Код для отображения таблицы:

$sql=mysql_query("SELECT * FROM attendance WHERE (year = '" . mysql_real_escape_string($_SESSION['year']) . "') and ( branch= '" . mysql_real_escape_string(($_SESSION['branch'])). "') and ( sem= '" . mysql_real_escape_string(($_SESSION['sem'])). "') and (sec= '" . mysql_real_escape_string(($_SESSION['sec'])). "')"); print "<body background='bg.jpg'>"; Print "<br><br><BR><center><table border cellpadding=3><tr><th>idno</th><th>name</th><th>subject</th><th>Held Classes</th><th>Attended Classes</th></tr>"; while($data=mysql_fetch_array( $sql )) { echo "<tr><td>".$data['idno']." </td><td>".$data['name'] . " <td>".$data['subject']." </td><td>".$data['heldcls'] . "<td>".$data['attendcls']." </td>"; } Print "</table><br><br><form action = excel.php method = POST><input type = 'submit' name = 'submit' Value = 'Export to excel'></form></center>"; 

как я могу экспортировать эту таблицу в Excel. И что должен b код в excel.php . Пожалуйста, помогите мне .. заблаговременно.

Либо вы можете использовать функции CSV, либо PHPExcel

или вы можете попробовать, как показано ниже

 <?php $file="demo.xls"; $test="<table ><tr><td>Cell 1</td><td>Cell 2</td></tr></table>"; header("Content-type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=$file"); echo $test; ?> 

Заголовок для .xlsx-файлов – Content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Если все, что вам нужно, это простой рабочий лист excel, попробуйте следующее:

 header('Content-type: application/excel'); $filename = 'filename.xls'; header('Content-Disposition: attachment; filename='.$filename); $data = '<html xmlns:x="urn:schemas-microsoft-com:office:excel"> <head> <!--[if gte mso 9]> <xml> <x:ExcelWorkbook> <x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name>Sheet 1</x:Name> <x:WorksheetOptions> <x:Print> <x:ValidPrinterInfo/> </x:Print> </x:WorksheetOptions> </x:ExcelWorksheet> </x:ExcelWorksheets> </x:ExcelWorkbook> </xml> <![endif]--> </head> <body> <table><tr><td>Cell 1</td><td>Cell 2</td></tr></table> </body></html>'; echo $data; для header('Content-type: application/excel'); $filename = 'filename.xls'; header('Content-Disposition: attachment; filename='.$filename); $data = '<html xmlns:x="urn:schemas-microsoft-com:office:excel"> <head> <!--[if gte mso 9]> <xml> <x:ExcelWorkbook> <x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name>Sheet 1</x:Name> <x:WorksheetOptions> <x:Print> <x:ValidPrinterInfo/> </x:Print> </x:WorksheetOptions> </x:ExcelWorksheet> </x:ExcelWorksheets> </x:ExcelWorkbook> </xml> <![endif]--> </head> <body> <table><tr><td>Cell 1</td><td>Cell 2</td></tr></table> </body></html>'; echo $data; для header('Content-type: application/excel'); $filename = 'filename.xls'; header('Content-Disposition: attachment; filename='.$filename); $data = '<html xmlns:x="urn:schemas-microsoft-com:office:excel"> <head> <!--[if gte mso 9]> <xml> <x:ExcelWorkbook> <x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name>Sheet 1</x:Name> <x:WorksheetOptions> <x:Print> <x:ValidPrinterInfo/> </x:Print> </x:WorksheetOptions> </x:ExcelWorksheet> </x:ExcelWorksheets> </x:ExcelWorkbook> </xml> <![endif]--> </head> <body> <table><tr><td>Cell 1</td><td>Cell 2</td></tr></table> </body></html>'; echo $data; 

Ключ здесь – данные xml. Это заставит excel жаловаться на файл.

Используйте PHP Excel для создания файла Excel. Вы можете найти хороший, который называется PHPExcel здесь: https://github.com/PHPOffice/PHPExcel

А для создания PDF используйте http://princexml.com/

 <script src="jquery.min.js"></script> <table border="1" id="ReportTable" class="myClass"> <tr bgcolor="#CCC"> <td width="100">xxxxx</td> <td width="700">xxxxxx</td> <td width="170">xxxxxx</td> <td width="30">xxxxxx</td> </tr> <tr bgcolor="#FFFFFF"> <td><?php $date = date_create($row_Recordset3['fecha']); echo date_format($date, 'dm-Y'); ?></td> <td><?php echo $row_Recordset3['descripcion']; ?></td> <td><?php echo $row_Recordset3['producto']; ?></td> <td><img src="borrar.png" width="14" height="14" class="clickable" onClick="eliminarSeguimiento(<?php echo $row_Recordset3['idSeguimiento']; ?>)" title="borrar"></td> </tr> </table> <input type="hidden" id="datatodisplay" name="datatodisplay"> <input type="submit" value="Export to Excel"> 

exporttable.php

 <?php header('Content-Type: application/force-download'); header('Content-disposition: attachment; filename=export.xls'); // Fix for crappy IE bug in download. header("Pragma: "); header("Cache-Control: "); echo $_REQUEST['datatodisplay']; ?>