Как я могу экспортировать свою таблицу php с нумерацией страниц в формат Excel и pdf? Я попробовал много плагинов и учебных пособий на YouTube, но все же не повезло, но они только отображают данные, а не всю таблицу. Я хочу экспортировать свою таблицу как минимум в печатную версию, лучше, если я смогу преобразовать свою таблицу в формат PDF или Excel. В моей таблице максимум 100 строк, разбитых на страницы по 10 строк на странице. Как я могу это сделать? Мне нужна ваша экспертиза.
PHP Экспорт в ветку:
<?php
include "connect.php";
require('lib/js/fpdf.php');
$result = mysqli_query($conn,"SELECT * FROM tblSales");
$header = mysqli_query($conn,"SELECT UCASE('date','sales')
FROM 'INFORMATION_SCHEMA'.'COLUMNS'
WHERE 'TABLE_SCHEMA'='DB_NAME'
AND 'TABLE_NAME'='tblSales'
and 'COLUMN_NAME' in ('date','sales')");
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
foreach($header as $heading) {
foreach($heading as $column_heading)
$pdf->Cell(95,12,$column_heading,1);
}
foreach($result as $row) {
$pdf->Ln();
foreach($row as $column)
$pdf->Cell(95,12,$column,1);
}
$pdf->Output();
?>
Код AJAX:
$(document).on('click', '.export-branch-excel', function () {
var branch = $("#branch-hidden-data").val();
$.ajax ({
url:"export-branch-excel.php",
data: "id="+branch,
method: "POST",
dataType: "text",
success: function(data){
window.location = "export-branch-excel.php";
}
});
});
@lawrence agulto Я изменил этот код на процедурный тип, как вы сказали. Попробуйте этот код.
Скачать в Excel:
<?php
include_once "connect.php";
$query = mysqli_query($conn,"SELECT * FROM tblSales ORDER BY date DESC ");
$columnHeader = "Column Name"."\t"."Column Name1"."\t"."Column Name2"."\t"."Column Name3"."\t";
$setData='';
if (mysqli_num_rows($query) > 0) {
while ($rec = mysqli_fetch_assoc($query)) {
$rowData = '';
foreach ($rec as $value) {
$value = '"'.$value.'"'."\t";
$rowData.=$value;
}
$setData.=trim($rowData)."\n";
}
}
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=Nobelz_Sushank.xls");
header("Pragme: no-cache");
header("Expires: 0");
echo "\t\tSales Data\n";
echo ucwords($columnHeader)."\n".$setData."\n";
?>
Скачать в pdf:
Загрузите библиотеку FPDF отсюда.
И изменить запрос, имя таблицы и TABLE_COLUMN_NAME в соответствии с вашими потребностями.
<?php
$result = mysqli_query($conn," Your QUery");
$header = mysqli_query($conn,"SELECT UCASE(`COLUMN_NAME`)
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='DB_NAME'
AND `TABLE_NAME`='TABLE_NAME'
and `COLUMN_NAME` in ('TABLE_COLUMN_NAME','TABLE_COLUMN_NAME1', 'TABLE_COLUMN_NAME2', 'TABLE_COLUMN_NAME3')");
require('fpdf181/fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
foreach($header as $heading) {
foreach($heading as $column_heading)
$pdf->Cell(95,12,$column_heading,1);
}
foreach($result as $row) {
$pdf->Ln();
foreach($row as $column)
$pdf->Cell(95,12,$column,1);
}
$pdf->Output();
?>
Тема слишком широка. Что вам нужно сделать, это:
Версия PDF такая же (если немного сложнее, так как обычно вам нужно составить PDF самостоятельно — есть способы сделать что-то иное, но требовать доступа к серверу, например, TBS + unoconv), за исключением того, что вместо этого вы используете библиотеку PDF Excel один. Например. FPDF или же TCPDF.
Для быстрого результата, и если вас не волнует форматированный файл Excel (фоны, логотипы, границы …), вы Можно замените часть Excel на «фальшивый» Excel — создайте таблицу HTML, файл CSV или, что еще хуже, простой неэкранированный большой двоичный объект с данными, разделенными табуляцией, дайте ему расширение XLS (X) и вперед. Из моего опыта это дает вам худший из возможных результатов: то, что работает 95-97% времени 1. Большие ожидания, периодически разбивающиеся, с огромным отставанием в обслуживании2. Если это любимый проект, дерзайте; если вам это нужно в профессиональной обстановке, найдите время, чтобы сделать это правильно.
(1) оставшиеся 3-5% состоят из символов UTF-8, кавычек, чисел и дат, написанных в любом формате, кроме того, который Excel понимает для импорта, и т. Д.
(2) добавить форматирование даты. Улучшить цитирование. Обнаружить UTF8. Определить UTF8, который на самом деле был ISO-8859-15. Подождите, неэкранированный. И так далее. Ох, и каждый раз, когда все должно быть сделано вчера. И почему это еще не работает?