将HTML和PHP创建的表导出到excel文件中

时间:2015-04-24 11:25:54

标签: php html excel

如何将PHP创建的表导出到excel文件中?有什么办法吗?

我其实想这样做:

说我查询数据库是一个php文件,并在html和PHP表中显示结果......

此表将是动态的,具体取决于用户搜索的内容。并且用户应该能够通过单击“导出”按钮将表保存为excel文件...

php中有没有选项可以做到这一点?

5 个答案:

答案 0 :(得分:1)

PHPExcel可能是最好的图书馆。如果你下载它,有很多例子几乎肯定会显示你想要做什么。

一个简单的例子如下:

$objPHPExcel = new PHPExcel();
$objWorksheet = $objPHPExcel->getActiveSheet();
$objWorksheet->fromArray(
    array(
        array('',       'Rainfall (mm)',    'Temperature (°F)', 'Humidity (%)'),
        array('Jan',        78,                 52,                 61),
        array('Feb',        64,                 54,                 62),
        array('Mar',        62,                 57,                 63),
        array('Apr',        21,                 62,                 59),
        array('May',        11,                 75,                 60),
        array('Jun',        1,                  75,                 57),
        array('Jul',        1,                  79,                 56),
        array('Aug',        1,                  79,                 59),
        array('Sep',        10,                 75,                 60),
        array('Oct',        40,                 68,                 63),
        array('Nov',        69,                 62,                 64),
        array('Dec',        89,                 57,                 66),
    )
);

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('sheet.xlsx');

或者,你可以很容易地导出为CSV,用户可以毫不费力地在excel中打开(不过技术上不是excel文档 - 但是有局限性)。

答案 1 :(得分:0)

将表存储在可变的

并写入文件

例如:

$content = "";//in content you must have table data
$file = fopen("file location", "w");
fwrite($file ,$content);

这应该有助于轻松

答案 2 :(得分:0)

如果有最终用户将查看该文件,请使用已使用PHPExcel提供的答案

如果您使用数据访问,请使用CSV。

page

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);

答案 3 :(得分:0)

如果您不需要公式或精美功能,也可以轻松输出CSV文件(Excel可以打开)。如果您有一个阵列数组,如所展示的一个enigma,您可以使用

$string = "";
foreach ($array as $row)
    $string .= implode(',', $row) . "\n";
file_put_contents("filename.csv", $string);

答案 4 :(得分:0)

看看这堂课。它能够从HTML表创建多表excel文件。

https://github.com/GSTVAC/HtmlExcel

$xls = new HtmlExcel();
$xls->addSheet("Names", $names);
$xls->headers();
echo $xls->buildFile();