Heim >Backend-Entwicklung >PHP-Tutorial >  php两种导出excel的方法

  php两种导出excel的方法

WBOY
WBOYOriginal
2016-06-20 12:45:261252Durchsuche

所需要的:jquery库,phpexcel插件,页面导出excel效果测试文件explode.php,excel导出功能实现文件exp.php和explode_excel.php,文件相关内容在此文下面:

explode.php:测试页面内容:访问此页面后单击explode1与explode2能导出两种不同效果的excel,代码如下:

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><script src='jquery.js'></script><title></title><style>td{    text-align:center;    font-size:12px;    font-family:Arial, Helvetica, sans-serif;    border:#1C7A80 1px solid;    color:#152122;    width:100px;}table,tr{    border-style:none;}.title{    background:#7DDCF0;    color:#FFFFFF;    font-weight:bold;}</style></head><body><script>    $(document).ready(function(){        $('#explode1').click(function(){                window.location.href='exp.php';        });         $('#explode2').click(function(){                window.location.href='explode_excel.php';        });    })</script><table width="800" border="1">  <tr>    <td class='title'>Date</td>    <td class='title' colspan="5" style='width:500px;text-align:center;'>CSAT Score</td>    <td class='title'>Grand Total</td>    <td class='title'>CSAT</td>  </tr>  <tr>    <td>08/01/11</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0%</td>  </tr>  <tr>    <td>08/01/11</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0%</td>  </tr>  <tr>    <td>08/01/11</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0%</td>  </tr></table><br /><input type='button' id='explode1' value='Explode' style='margin-left:620px;background-color:#10899E;color:white;padding:3px;font-weight:bold;'><input type='button' id='explode2' value='Explode2' style='background-color:#10899E;color:white;padding:3px;font-weight:bold;margin-left:24px;'></body></html>

第一种,用phpexcel插件导出excel,即exp.php文件中的内容:

<?phpheader("content-type:text/html;charset=utf-8");/** Error reporting */error_reporting(E_ALL);/** PHPExcel */include_once 'PHPExcel.php'; /** PHPExcel_Writer_Excel2003用于创建xls文件 */include_once 'PHPExcel/Writer/Excel5.php'; // Create new PHPExcel object$objPHPExcel = new PHPExcel(); // Set properties$objPHPExcel->getProperties()->setCreator("李汉团");$objPHPExcel->getProperties()->setLastModifiedBy("李汉团");$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes."); // Add some data$objPHPExcel->setActiveSheetIndex(0);$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'Date');//合并单元格:$objPHPExcel->getActiveSheet()->mergeCells('B1:F1');$objPHPExcel->getActiveSheet()->SetCellValue('B1', 'CSAT Score');$objPHPExcel->getActiveSheet()->SetCellValue('G1', 'Grand Total');$objPHPExcel->getActiveSheet()->SetCellValue('H1', 'CSAT');$objPHPExcel->getActiveSheet()->SetCellValue('A2', '08/01/11');$objPHPExcel->getActiveSheet()->SetCellValue('B2', '0');$objPHPExcel->getActiveSheet()->SetCellValue('C2', '0');$objPHPExcel->getActiveSheet()->SetCellValue('D2', '0');$objPHPExcel->getActiveSheet()->SetCellValue('E2', '0');$objPHPExcel->getActiveSheet()->SetCellValue('F2', '0');$objPHPExcel->getActiveSheet()->SetCellValue('G2', '0');$objPHPExcel->getActiveSheet()->SetCellValue('H2', '0%');$objPHPExcel->getActiveSheet()->SetCellValue('A3', '08/01/11');$objPHPExcel->getActiveSheet()->SetCellValue('B3', '0');$objPHPExcel->getActiveSheet()->SetCellValue('C3', '0');$objPHPExcel->getActiveSheet()->SetCellValue('D3', '0');$objPHPExcel->getActiveSheet()->SetCellValue('E3', '0');$objPHPExcel->getActiveSheet()->SetCellValue('F3', '0');$objPHPExcel->getActiveSheet()->SetCellValue('G3', '0');$objPHPExcel->getActiveSheet()->SetCellValue('H3', '0%');$objPHPExcel->getActiveSheet()->SetCellValue('A4', '08/01/11');$objPHPExcel->getActiveSheet()->SetCellValue('B4', '0');$objPHPExcel->getActiveSheet()->SetCellValue('C4', '0');$objPHPExcel->getActiveSheet()->SetCellValue('D4', '0');$objPHPExcel->getActiveSheet()->SetCellValue('E4', '0');$objPHPExcel->getActiveSheet()->SetCellValue('F4', '0');$objPHPExcel->getActiveSheet()->SetCellValue('G4', '0');$objPHPExcel->getActiveSheet()->SetCellValue('H4', '0%'); // Rename sheet$objPHPExcel->getActiveSheet()->setTitle('Csat');    // Save Excel 2007 file//$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);   $objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); $objWriter->save(str_replace('.php', '.xls', __FILE__)); header("Pragma: public"); header("Expires: 0"); header("Cache-Control:must-revalidate,post-check=0,pre-check=0"); header("Content-Type:application/force-download"); header("Content-Type:application/vnd.ms-execl"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); header("Content-Disposition:attachment;filename=csat.xls"); header("Content-Transfer-Encoding:binary"); $objWriter->save("php://output");?>

第二种,直接用header导出html,指定样式的excel,即explode_excel.php中的内容,如下:

<?phpheader ( "Content-type:application/vnd.ms-excel" );header ( "Content-Disposition:filename=csat.xls" );    echo "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /><title>无标题文档</title><style>td{    text-align:center;    font-size:12px;    font-family:Arial, Helvetica, sans-serif;    border:#1C7A80 1px solid;    color:#152122;    width:100px;}table,tr{    border-style:none;}.title{    background:#7DDCF0;    color:#FFFFFF;    font-weight:bold;}</style></head> <body><table width='800' border='1'>  <tr>    <td class='title'>Date</td>    <td class='title' colspan='5' style='width:500px;text-align:center;'>CSAT Score</td>    <td class='title'>Grand Total</td>    <td class='title'>CSAT</td>  </tr>  <tr>    <td>08/01/11</td>    <td>0</td>    <td>0</td>    <td>测试内容!!</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0%</td>  </tr>  <tr>    <td>08/01/11</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0%</td>  </tr>  <tr>    <td>08/01/11</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0</td>    <td>0%</td>  </tr></table></body></html>";?>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn