关于Thinkphp实现Excel实现创建sheet子分页

本文介绍如何使用PHPExcel库创建带有格式、表头和多页的Excel文件。文章详细展示了设置Excel文档属性、调整单元格宽度及高度、设置字体样式、应用边框、合并单元格、写入数据以及导出文件的具体步骤。

<?php

public function createSheet()
{
vendor("PHPExcel.PHPExcel");
// Create new PHPExcel object
$objPHPExcel = new \PHPExcel();
// Set properties
$objPHPExcel->getProperties()->setCreator("ctos")//设置创建者
->setLastModifiedBy("ctos") //设置时间
->setTitle("Office 2007 XLSX Test Document") //设置标题
->setSubject("Office 2007 XLSX Test Document") //设置备注
->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.") //设置描述
->setKeywords("office 2007 openxml php") //设置关键字 | 标记
->setCategory("Test result file"); //设置类别

//set width
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(5);

//设置行高度
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(24);

//设置字体
$objPHPExcel->getActiveSheet()->getDefaultStyle()->getFont()->setSize(12);
$objPHPExcel->getActiveSheet()->getStyle('A2:L2')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('A1:L1')->getFont()->setSize(16);

//设置边框
$objPHPExcel->getActiveSheet()->getStyle('A2:L2')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
// $objPHPExcel->getActiveSheet()->getStyle('A2:E2')->getBorders()->getAllBorders()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

//设置水平居中
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);

//合并cell
$objPHPExcel->getActiveSheet()->mergeCells('A1:L1');

//设置表头
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', '商品销售报表'.date('Y-m-d H:i:s'));


// Miscellaneous glyphs, UTF-8
//$pay_type = array('','支付宝','微信');

$objPHPExcel->getActiveSheet(0)->setCellValue('A2', 122);


// sheet命名
$objPHPExcel->getActiveSheet()->setTitle('商品销售报表1');


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

//创建sheet
$objPHPExcel->createSheet();
$objPHPExcel->setactivesheetindex(1);

$objPHPExcel->getActiveSheet()->mergeCells('A1:L1');

//设置表头
$objPHPExcel->setActiveSheetIndex(1)->setCellValue('A1', '商品销售报表'.date('Y-m-d H:i:s'));

//写入多行数据
$objPHPExcel->getactivesheet()->setcellvalue('A2', 123);

$objPHPExcel->getActiveSheet()->setTitle('商品销售报表2');


// excel头参数
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="商品销售报表('.date('Ymd-His').').xls"'); //日期为文件名后缀
header('Cache-Control: max-age=0');

$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //excel5为xls格式,excel2007为xlsx格式
$objWriter->save('php://output');
}

转载于:https://www.cnblogs.com/leaf-cq/p/8421962.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值