php導(dǎo)出excel:精準(zhǔn)控制列寬,確保數(shù)據(jù)對(duì)齊
本文探討如何使用PHP導(dǎo)出Excel文件,并精確控制列寬,確保“支付寶賬號(hào)”、“姓名”、“打款金額”分別準(zhǔn)確占據(jù)A、B、C列。 原生PHP的fputcsv函數(shù)在列寬控制方面能力有限,因此我們將借助PHPExcel庫(kù)來(lái)實(shí)現(xiàn)這一目標(biāo)。
問(wèn)題:數(shù)據(jù)列不對(duì)齊
以下代碼片段使用原生PHP導(dǎo)出Excel,但無(wú)法保證列寬和列位置:
set_time_limit(0); ob_end_clean(); header("content-type: application/vnd.ms-excel"); header('content-disposition: attachment; filename="文章信息統(tǒng)計(jì)'.date('ymdhis').'.xls"'); $fp = fopen('php://output', 'w'); fwrite($fp, chr(0xef).chr(0xbb).chr(0xbf)); $title = array('支付寶賬號(hào)','姓名','打款金額'); 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"); } fclose($fp);
解決方案:使用PHPExcel庫(kù)
PHPExcel庫(kù)提供了更精細(xì)的Excel文件操作能力。以下代碼演示如何使用PHPExcel設(shè)置列寬,確保數(shù)據(jù)準(zhǔn)確落入A、B、C列:
require_once 'Classes/PHPExcel.php'; // 引入PHPExcel庫(kù) $objPHPExcel = new PHPExcel(); $sheet = $objPHPExcel->getActiveSheet(); // 設(shè)置表頭 $sheet->setCellValue('A1', '支付寶賬號(hào)'); $sheet->setCellValue('B1', '姓名'); $sheet->setCellValue('C1', '打款金額'); // 設(shè)置數(shù)據(jù) $row = 2; foreach ($list as $val) { $sheet->setCellValue('A' . $row, $val['alipay_acount']); $sheet->setCellValue('B' . $row, $val['alipay_real_name']); $sheet->setCellValue('C' . $row, $val['total_check_che']); $row++; } // 設(shè)置列寬 $sheet->getColumnDimension('A')->setWidth(20); // 支付寶賬號(hào)列寬 $sheet->getColumnDimension('B')->setWidth(15); // 姓名列寬 $sheet->getColumnDimension('C')->setWidth(10); // 打款金額列寬 // 保存Excel文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); // Excel5 for .xls $objWriter->save('文章信息統(tǒng)計(jì)'.date('ymdhis').'.xls');
此代碼首先使用PHPExcel創(chuàng)建Excel文件和工作表,然后設(shè)置表頭和數(shù)據(jù)。關(guān)鍵在于getColumnDimension()方法,它允許我們分別設(shè)置A、B、C列的寬度,確保數(shù)據(jù)對(duì)齊。最后,代碼使用PHPExcel_IOFactory保存Excel文件。 記得安裝PHPExcel庫(kù)并正確配置路徑。
立即學(xué)習(xí)“PHP免費(fèi)學(xué)習(xí)筆記(深入)”;
通過(guò)使用PHPExcel庫(kù),我們可以更有效地控制Excel文件的格式,避免數(shù)據(jù)錯(cuò)位,提升數(shù)據(jù)導(dǎo)出質(zhì)量。
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關(guān)推薦