2015-04-24 37 views
1

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

其实我是想这样来做:

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

该表将是动视用户正在搜索什么。并且用户应该能够通过点击EXPORT按钮将表格保存为excel文件...

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

+0

可以用PHP练成此https://phpexcel.codeplex.com/ –

回答

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文档,但 - 有限制)。

0

存放在varaiable

,并写入到文件表

例如:

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

这应该有助于容易

+0

你指的$内容的SQL查询? –

+0

否您将创建的表格 –

+0

例如:“

....
” –

0

如果有,将查看最终用户文件使用已经给出的答案使用PHPExcel

如果你的这样做的数据访问然后使用CSV。

https://php.net/manual/en/function.fputcsv.php

$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); 
0

如果您不需要公式或花哨的功能,它也将是很容易输出CSV文件(Excel可以打开)。如果你有一组阵列就像一个谜题演示的那样,你可以使用

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

看看这个类。它能够从HTML表格创建多张excel文件。

https://github.com/GSTVAC/HtmlExcel

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