ThinkPHP中调用PHPExcel的实现代码

发布时间 - 2026-01-11 00:34:27    点击率:

核心代码:

//引入PHPExcel
vendor('PHPExcel.PHPExcel');

// Create new PHPExcel object
$objPHPExcel = new PHPExcel();

//设置文档属性
$objPHPExcel->getProperties()
    ->setCreator("web100.cc")
    ->setLastModifiedBy("web100.cc")
    ->setTitle("Office 2007 XLSX Test Document")
    ->setSubject("Office 2007 XLSX Test Document")
    ->setDescription("Test document generated using PHP classes.")
    ->setKeywords("office 2007 openxml php")
    ->setCategory("Test result file");
    
//设置当前活动的sheet
$objPHPExcel->setActiveSheetIndex(0);

//选定当前Sheet
$objActSheet = $objPHPExcel->11getActiveSheet();
 
//设置sheet名字
$objActSheet->setTitle('phpexcel demo');
 
//设置默认行高
$objActSheet->getDefaultRowDimension()->setRowHeight(15);
 
//由PHPExcel根据传入内容自动判断单元格内容类型
$objActSheet->setCellValue('A1', "Firstname");
$objActSheet->setCellValue('B1', "Lastname");
$objActSheet->setCellValue('C1', "Phone");
$objActSheet->setCellValue('D1', "Fax");
$objActSheet->setCellValue('E1', "Address");
$objActSheet->setCellValue('F1', "ZIP");
$objActSheet->setCellValue('G1', "DATE");
 
 
$objActSheet->setCellValueByColumnAndRow(0, 8, 'firstname');
$objActSheet->setCellValueByColumnAndRow(1, 8, 'lastname');
 
 
// 单元格填充值
$objActSheet->setCellValue('A2', "小风");
$objActSheet->setCellValue('B2', "wang");

//设置列宽
$objActSheet->getColumnDimension('C')->setWidth('20');
 
 
// 设置行高
$objActSheet->getRowDimension('9')->setRowHeight(20); //第9行

// 设置字体
$objActSheet->getStyle('A1')->getFont()->setName('宋体');
// 字号
$objActSheet->getStyle('A1')->getFont()->setSize(12);
// 加粗
$objActSheet->getStyle('A1')->getFont()->setBold(true);

//说明:$objActSheet->getStyle('A1:G10'),可以通过这种方式来选择一片单元格!

// 设置单元格格式
$objActSheet->getCell('C2')->setValueExplicit('861391327543258', PHPExcel_Cell_DataType::TYPE_NUMERIC);
 
// 日期
$objActSheet->setCellValue('G2', '2008-12-31');
$objActSheet->getStyle('G2')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH);
 
// 时间戳
$time = gmmktime(0,0,0,12,31,2008); // int(1230681600)
$objActSheet->setCellValue('G3', PHPExcel_Shared_Date::PHPToExcel($time));
$objActSheet->getStyle('G3')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH);
 
// url
$objActSheet->setCellValue('G11', 'www.spalybow.com');
$objActSheet->getCell('G11')->getHyperlink()->setUrl('http://www.spalybow.com');
 
// 另一个sheet
$objActSheet->setCellValue('G12', 'sheetb');
$objActSheet->getCell('G12')->getHyperlink()->setUrl("sheet://'sheetb'!A1");
 
// 水平居上
$objActSheet->getStyle('A9:B9')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP);
 
// 单元格换行
$objActSheet->getStyle('G2:G3')->getAlignment()->setWrapText(true);
 
// 合并
$objActSheet->mergeCells('A18:E22');
 
 
// 隐藏D列
$objActSheet->getColumnDimension('D')->setVisible(false);
 
//
$objActSheet->getColumnDimension('E')->setOutlineLevel(1);
$objActSheet->getColumnDimension('E')->setVisible(false);
$objActSheet->getColumnDimension('F')->setOutlineLevel(1);
$objActSheet->getColumnDimension('F')->setVisible(false);
$objActSheet->getColumnDimension('F')->setCollapsed(true);
 
// 固定第一行
$objActSheet->freezePane('A2');
 
// 保护工作表
$objActSheet->getProtection()->setPassword('PHPExcel');
$objActSheet->getProtection()->setSheet(true);
$objActSheet->getProtection()->setSort(true);
$objActSheet->getProtection()->setInsertRows(true);
$objActSheet->getProtection()->setFormatCells(true);
 
//设置边框
$sharedStyle1 = new PHPExcel_Style();
$sharedStyle1->applyFromArray(
  array('borders' => array(
                'left'    => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM)
              )
     ));
$objActSheet->setSharedStyle($sharedStyle1, "B1:B10");
 
// 创建一个新的工作表
$objWorksheet1 = $objPHPExcel->createSheet();
$objWorksheet1->setTitle('sheetb');
 
 
$objPHPExcel->setActiveSheetIndex(1);
 
 
// 创建一个图片
$gdImage = @imagecreatetruecolor(200, 20) or die('Cannot Initialize new GD image stream');
$textColor = imagecolorallocate($gdImage, 255, 255, 255);
imagestring($gdImage, 1, 5, 5, 'Created with PHPExcel (c1gstudio.com)', $textColor);
 
// 把创建的图片添加到工作表
$objDrawing = new PHPExcel_Worksheet_MemoryDrawing();
$objDrawing->setName('Sample image');
$objDrawing->setDescription('Sample image');
$objDrawing->setImageResource($gdImage);
$objDrawing->setRenderingFunction(PHPExcel_Worksheet_MemoryDrawing::RENDERING_JPEG);
$objDrawing->setMimeType(PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_DEFAULT);
$objDrawing->setHeight(36);
$objDrawing->setWorksheet($objActSheet);
 
$objPHPExcel->setActiveSheetIndex(0);
 
// 保存
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('testexcel'.time().'.xls');


# ThinkPHP  # PHPExcel  # thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)  # ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例  # ThinkPHP基于PHPExcel导入Excel文件的方法  # 详解thinkphp实现excel数据的导入导出(附完整案例)  # ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】  # thinkPHP实现将excel导入到数据库中的方法  # thinkphp3.2中实现phpexcel导出带生成图片示例  # 基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据  # tp5(thinkPHP5)框架数据库Db增删改查常见操作总结  # tp5(thinkPHP5)框架实现多数据库查询的方法  # ThinkPHP连接数据库的方式汇总  # ThinkPHP 框架实现的读取excel导入数据库操作示例  # 单元格  # 创建一个  # 可以通过  # 充值  # 宋体  # 小风  # 换行  # 加粗  # 文档  # 居上  # DATE  # lastname  # Address  # setCellValueByColumnAndRow  # firstname  # Phone 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 油猴 教程,油猴搜脚本为什么会网页无法显示?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  使用C语言编写圣诞表白程序  Laravel如何处理表单验证?(Requests代码示例)  如何用美橙互联一键搭建多站合一网站?  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel如何发送系统通知?(Notification渠道示例)  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Linux后台任务运行方法_nohup与&使用技巧【技巧】  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  Laravel怎么在Controller之外的地方验证数据  如何在IIS管理器中快速创建并配置网站?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Laravel如何生成API文档?(Swagger/OpenAPI教程)  Java遍历集合的三种方式  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  Laravel如何配置Horizon来管理队列?(安装和使用)  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  开心动漫网站制作软件下载,十分开心动画为何停播?  Python高阶函数应用_函数作为参数说明【指导】  如何在宝塔面板中修改默认建站目录?  js实现获取鼠标当前的位置  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  iOS正则表达式验证手机号、邮箱、身份证号等  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  如何为不同团队 ID 动态生成多个“认领值班”按钮  浅谈redis在项目中的应用  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】  如何在Ubuntu系统下快速搭建WordPress个人网站?  Laravel如何处理和验证JSON类型的数据库字段  浅谈Javascript中的Label语句  如何用低价快速搭建高质量网站?  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  Laravel如何使用.env文件管理环境变量?(最佳实践)  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Bootstrap整体框架之CSS12栅格系统