2015-12-02 4 views
2

Мне нужна ваша помощь. У меня есть страница php, которая через серию запросов заполняет таблицу.Экспорт таблицы PHP в файл HTML

Функция, которая одним нажатием кнопки экспортирует таблицу в Excel. Мне нужно экспортировать эту таблицу в html-файл, всегда щелкая по кнопке.

Как я могу это сделать?

+3

Как вы уже экспорт в Excel? Если вы это делаете, то вы уже делаете ¾ или работу, которую вам нужно экспортировать в html –

+0

Да, экспорт в Excel работает очень хорошо. Как я делаю для экспорта в html? – AleZucchelli

+0

Итак, как вы делаете экспорт в Excel? Зная эту информацию, мы можем лучше ответить на ваш вопрос. –

ответ

0

Это 3 простой процесс шаг:

1 - Первое, что вам нужно сделать, это добавить приложение/vnd.ms-первенствовать тип содержимого на ваш PHP файл:

header("Content-Type: application/vnd.ms-excel"); 

2 - Данные так же просты. Отдельные ячейки/столбцы с вкладками ("\ t" в PHP) и перейдите к следующей строке с новой строкой ("\ n" в PHP).

echo 'First Name' . "\t" . 'Last Name' . "\t" . 'Phone' . "\n"; 
echo 'John' . "\t" . 'Doe' . "\t" . '555-5555' . "\n"; 

отделили вкладки (\ Т) и новые строки (\ п), так что вы можете легко увидеть структуру. Выше будет создать таблицу, которая выглядит следующим образом:

First Name  Last Name  Phone 
John   Doe   555-5555 

Шаг 3: Загрузка в таблицу

header("Content-disposition: attachment; filename=spreadsheet.xls"); 

Загрузить файлы примеров из here.

Вы также можете использовать PHPExcel для генерации файлов excel.

+0

Обратите внимание, что вы создаете файл CSV, а не файл Excel; вы игнорируете встроенную функцию PHP fputcsv(), которая корректно обрабатывает поля, содержащие вкладки и кавычки (тогда как ваш «доморощенный» будет ломаться); и OP говорит, что они уже могут создать файл Excel и хотят создать HTML-код –

0

Я использую эту функцию сценария Java

[link]<script type="text/javascript"> 
     var tableToExcel = (function() 
     { 
     var uri = 'data:application/vnd.ms-excel;base64,' 
     , template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>' 
     , base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) } 
     , format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) } 
     return function(table, name) 
     { 
     if (!table.nodeType) table = document.getElementById(table) 
     var ctx = {worksheet: name || 'Worksheet', table: table.innerHTML} 
     window.location.href = uri + base64(format(template, ctx)) 
     } 
     })() 
</script> 
Смежные вопросы