PHPexcel导出excel文件

本文分享了使用PHPExcel库导出Excel文件的实战经验,包括设置文档属性、字体样式及解决常见问题如长数字串、百分数显示等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天用到了PHPexcel导出excel,在网上搜了好多基本上都是相互copy的,只怪当初英语没学好呀,英文文档看不懂,试着整了一个上午终于搞定了,把代码给大家分享一下。

include ‘./Excel/PHPExcel.php’;
include ‘./Excel/PHPExcel/writer/Excel2007.php’;
$objPHPExcel = new PHPExcel();
// Set document properties设置excel的属性
//创建人
$objPHPExcel->getProperties()->setCreator(“Maarten Balliauw”);
//最后修改人
$objPHPExcel->getProperties()->setLastModifiedBy(“Maarten Balliauw”);
//标题
$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.”);
//关键字
$objPHPExcel->getProperties()->setKeywords(“office 2007 openxml php”);
//种类
$objPHPExcel->getProperties()->setCategory(“Test result file”);

//设置字体样式
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setName(‘Arial’);

//设置字体大小
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(10);

//设置第一行字体加粗
$objPHPExcel->getActiveSheet()->getStyle(’1′)->getFont()->setBold(true);
// Add some data
$objPHPExcel->setActiveSheetIndex(0);
$num=count($content);
for($i=0;$i<$num;$i++)
{
$arr=explode(‘|’,$content[$i]);
$num1=count($arr);
for($j=0;$j<$num1;$j++)
{
$n=65+$j;
$s=$i+1;
$objPHPExcel->getActiveSheet()->setCellValue(chr($n).$s, iconv(‘gbk’,'utf-8′,$arr[$j]));
}
}
// Rename worksheet
$objPHPExcel->getActiveSheet()->setTitle(‘sheet1′);

// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);

// Redirect output to a client’s web browser (Excel5)
header(‘Content-Type: application/vnd.ms-excel’);
header(“Content-Disposition: attachment;filename=$outputFilename”);
header(‘Cache-Control: max-age=0′);
//header(‘Cache-Control: No-cache’);
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel5′);
$objWriter->save(‘php://output’);

 

一、导出数据时长数字串变文本格式

$excel_obj = new PHPExcel();  $excel_obg->getActiveSheet()->getStyle(‘A’)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);

$excel_obg->getActiveSheet()->setCellValue(‘A1′ , ” ” . $long_num );

二、导出的数据为百分数(先给值后设置格式)

困扰了我两天!!!

$objPHPExcel->getActiveSheet()->setCellValue($str,$arr[$j]);
$objPHPExcel->getActiveSheet()->getStyle($str)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_PERCENTAGE_00);

三、导出的数据位日期格式,但NumberFormat.php给出的的日期格式没有(前后加空格)

$objPHPExcel->getActiveSheet()->getStyle($str)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
$objPHPExcel->getActiveSheet()->setCellValue($str,” “.$arr[$j].” “);


四、导出的数据为邮政编码,但是以0开头的会隐藏0

	$objPHPExcel->getActiveSheet()->getStyle('A2')->getNumberFormat()->setFormatCode("000000");
	$objPHPExcel->getActiveSheet()->setCellValue('A2','010086');




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值