如何使用PHPExcel庫導出Excel文件并設置列寬?

如何使用PHPExcel庫導出Excel文件并設置列寬?

phpexcel庫導出Excel并自定義列寬

本文介紹如何利用PHPExcel庫導出Excel文件,并精確控制各列列寬,解決原生PHP導出Excel時列寬難以調整的問題。 原生PHP導出方法(例如使用fputcsv)無法精確控制列寬,導致數據顯示可能出現錯位或顯示不全。

假設需要導出一個包含支付寶賬號、姓名和打款金額的表格,希望支付寶賬號、姓名和打款金額分別占據A、B、C列,并設置合適的列寬以清晰顯示數據。 以下是一個原生PHP導出代碼示例,它無法滿足列寬自定義的需求:

set_time_limit(0); ob_end_clean(); header("content-type: application/vnd.ms-excel"); header('content-disposition: attachment; filename="文章信息統計'.date('ymdhis').'.xls"'); $fp = fopen('php://output', 'w'); fwrite($fp, chr(0xef).chr(0xbb).chr(0xbf)); $title = array('支付寶賬號','姓名','打款金額'); fputcsv($fp, $title, "t"); $body = array(); foreach($list as $key=>$val){     $body['alipay_acount'] = $val['alipay_acount'];     $body['alipay_real_name'] = $val['alipay_real_name'];     $body['money'] = $val['total_check_che'];     fputcsv($fp, $body, "t"); }

使用PHPExcel庫則可以輕松解決這個問題。 PHPExcel提供setWidth方法來設置列寬。例如,設置A列寬度為20:

$objphpexcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);

批量設置列寬可以使用循環

立即學習PHP免費學習筆記(深入)”;

  • 設置A到Z列寬度為20:
$cols = range('A', 'Z'); foreach ($cols as $col) {     $objphpexcel->getActiveSheet()->getColumnDimension($col)->setWidth(20); }
  • 設置不同列不同寬度:
$widths = array('A' => 20, 'B' => 15, 'C' => 25); foreach ($widths as $col => $width) {     $objPHPExcel->getActiveSheet()->getColumnDimension($col)->setWidth($width); }

通過以上方法,您可以靈活地設置Excel文件的列寬,確保數據在表格中清晰完整地顯示。 記住在使用PHPExcel庫之前,需要正確安裝并引入該庫。

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享