php导出Excel表格

一,首要条件

需要下载phpExcel库 放到自己网页代码目,在调用函数require_once(“phpExcel_path”)
即可对即将导出的excel表格进行格式设置。
注意:导出excel文件中最好不要使用打印功能(echo ),可能会导致无法保存。

二,引入对象

	$excel = new PHPExcel();
		//创建Excel输入对象
	$write = new PHPExcel_Writer_Excel5($excel);

2.1,创建sheet

如果需要将不同的数据存入不同的sheet表中就需要创建sheet,方法如下:

			$excel->createSheet();		//创建sheet
			$excel->setactivesheetindex('索引');	//sheet索引   0 1 2 3....
			$excel->getActiveSheet()->setTitle('sheet名称'); //自定义名称

2.2,创建表头

定义数组
$letter= array(‘A’,‘B’,‘C’,‘D’…);
或者是数字
定义表头数组:
$tableheader = array(‘中文’,‘中文’,‘中文’,‘中文’);

2.3,写入表头

for($i = 0;$i < count($tableheader);$i++) 
{	
		$excel->getActiveSheet()->setCellValue("$letter[$i]1","$tableheader[$i]");
}

2.4,记录表数据

定义表主体数组:
$tablebody = array(‘数据’,‘数据’,‘数据’,‘数据’,‘数据’);
$number变量是行序号 ,根据需求更改。

for($i = 0;$i < count($tablebody);$i++) 
{
	$excel->getActiveSheet()->setCellValue("$letter[$i]$number","$tablebody[$i]");
}

三,保存

记录数据就基本完成
最后就是保存到本地

header("Pragma: public");
header("Expires: 0");
ob_end_clean();		
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
//header('Cache-Control: max-age=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=$project_code.$datetmp.xls");
header("Content-Transfer-Encoding:binary");
$write->save('php://output')

四,设置表格格式

基础表格保存就如上所诉,需要保存一定格式的表格需要对单元格进行设置。

4.1,创建sheet表

$i变量相当于表示sheet表的id号,
$sheet_name变量是表的名字,也可以不用设置,有默认名。

$excel->createSheet();		//创建sheet
$excel->setactivesheetindex($i);	//sheet索引
$excel->getActiveSheet()->setTitle($sheet_name);

4.2,单元格设置

1,合并单元格

2,单元格背景色

3,字体大小

4,字体颜色

5,字体背景色

6,字体设置

7,单元格宽高

设置B列宽度为 10

$excel->getActiveSheet()->getColumnDimension()->setAutoSize(true);
$excel->getActiveSheet()->getColumnDimension(\'B\')->setWidth(10);
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是使用 PHP 导出 Excel 表格的示例代码: ```php // 数据数组 $data = array( array('姓名', '年龄', '性别'), array('张三', 18, '男'), array('李四', 20, '女'), array('王五', 22, '男') ); // 创建 Excel 对象 $excel = new COM('Excel.Application'); $excel->visible = false; $excel->DisplayAlerts = 0; // 新建工作簿 $workbook = $excel->Workbooks->Add(); // 激活工作表 $worksheet = $workbook->Worksheets(1); // 将数据写入工作表 for ($i = 0; $i < count($data); $i++) { for ($j = 0; $j < count($data[$i]); $j++) { $worksheet->Cells($i+1, $j+1)->Value = $data[$i][$j]; } } // 设置单元格格式 $range = $worksheet->Range('A1:C1'); $range->Font->Bold = true; $range->Interior->ColorIndex = 36; $range->HorizontalAlignment = -4108; // 保存工作簿 $workbook->SaveAs('test.xlsx'); $workbook->Close(false); $excel->Quit(); ``` 这段代码会创建一个包含数据数组的 Excel 文件,并将其保存为 `test.xlsx`。你可以将这个文件作为响应发送给客户端,使其自动下载。 以下是使用 PHP 发送响应头的示例代码: ```php // 文件路径 $file = 'test.xlsx'; // 发送响应头 header('Content-Description: File Transfer'); header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); // 读取文件并输出到客户端 readfile($file); ``` 将这段代码添加到前面的示例中,就可以将 Excel 文件作为响应发送给客户端了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撸BUG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值