phpExcel将数据导出至Excel的详细方法介绍

phpExcel将数据导出至Excel的详细方法介绍

内容导读

收集整理的这篇技术教程文章主要介绍了phpExcel将数据导出至Excel的详细方法介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3224字,纯文字阅读大概需要5分钟

内容图文

本篇文章给大家带来的内容是关于phpExcel将数据导出至Excel的详细方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

安装类库

从GitHub上下载PHPExcel类库

地址:https://github.com/PHPOffice/PHPExcel

解压后将Classes文件夹移动到ThinkPHP的extend目录,并将其重命名为phpexcel

在项目中需要的地方添加引用

import('phpexcel.PHPExcel', EXTEND_PATH);

代码实现

<?phpnamespace appindexcontroller;use thinkController;class Excel extends Controller{

// 将数据导出至Excel

public function exportExcel()

{



// 引入类库



import('phpexcel.PHPExcel', EXTEND_PATH);



// 文件名和文件类型



$fileName = "student";



$fileType = "xlsx";



// 模拟获取数据



$data = self::getData();



$obj = new PHPExcel();



// 以下内容是excel文件的信息描述信息



$obj->getProperties()->setCreator(''); //设置创建者



$obj->getProperties()->setLastModifiedBy(''); //设置修改者



$obj->getProperties()->setTitle(''); //设置标题



$obj->getProperties()->setSubject(''); //设置主题



$obj->getProperties()->setDescription(''); //设置描述



$obj->getProperties()->setKeywords('');//设置关键词



$obj->getProperties()->setCategory('');//设置类型



// 设置当前sheet



$obj->setActiveSheetIndex(0);



// 设置当前sheet的名称



$obj->getActiveSheet()->setTitle('student');



// 列标



$list = ['A', 'B', 'C'];



// 填充第一行数据



$obj->getActiveSheet()





->setCellValue($list[0] . '1', '学号')





->setCellValue($list[1] . '1', '姓名')





->setCellValue($list[2] . '1', '班级');



// 填充第n(n>=2, n∈N*)行数据



$length = count($data);



for ($i = 0; $i < $length; $i++) {





$obj->getActiveSheet()->setCellValue($list[0] . ($i + 2), '20190101', PHPExcel_Cell_DataType::TYPE_STRING);//将其设置为文本格式





$obj->getActiveSheet()->setCellValue($list[1] . ($i + 2), 'student01');





$obj->getActiveSheet()->setCellValue($list[2] . ($i + 2), '1班');



}



// 设置加粗和左对齐



foreach ($list as $col) {





// 设置第一行加粗





$obj->getActiveSheet()->getStyle($col . '1')->getFont()->setBold(true);





// 设置第1-n行,左对齐





for ($i = 1; $i <= $length + 1; $i++) {







$obj->getActiveSheet()->getStyle($col . $i)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);





}



}



// 设置列宽



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



$obj->getActiveSheet()->getColumnDimension('B')->setWidth(20);



$obj->getActiveSheet()->getColumnDimension('C')->setWidth(15);



// 导出



ob_clean();



if ($fileType == 'xls') {





header('Content-Type: application/vnd.ms-excel');





header('Content-Disposition: attachment;filename="' . $fileName . '.xls');





header('Cache-Control: max-age=1');





$objWriter = new PHPExcel_Writer_Excel5($obj);





$objWriter->save('php://output');





exit;



} elseif ($fileType == 'xlsx') {





header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');





header('Content-Disposition: attachment;filename="' . $fileName . '.xlsx');





header('Cache-Control: max-age=1');





$objWriter = PHPExcel_IOFactory::createWriter($obj, 'Excel2007');





$objWriter->save('php://output');





exit;



}

}

// 准备数据

protected function getData()

{



$studentList = [





[







'stuNo' => '20190101',







'name' => 'student01',







'class' => '1班'





], [







'stuNo' => '20190102',







'name' => 'student02',







'class' => '1班'





], [







'stuNo' => '20190103',







'name' => 'student03',







'class' => '1班'





]



];



return $studentList;

}}

运行

浏览器访问http://127.0.0.1:8083/index/excel/exportExcel下载Excel文件

打开文件如下:

可以看到Excel中的数据和PHP数组中的数据是一致的!

以上就是phpExcel将数据导出至Excel的详细方法介绍的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的phpExcel将数据导出至Excel的详细方法介绍全部内容,希望文章能够帮你解决phpExcel将数据导出至Excel的详细方法介绍所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com