PHPEXCEL生成excel文件

2024-04-10 16:58
文章标签 excel 生成 phpexcel

本文主要是介绍PHPEXCEL生成excel文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<?php
/**
  * PHPEXCEL生成excel文件
  * @author:firmy
  * @desc 支持任意行列数据生成excel文件,暂未添加单元格样式和对齐
  */
require_once 'library/PHPExcel.php' ;
require_once 'library/PHPExcel/Reader/Excel2007.php' ;
require_once 'library/PHPExcel/Reader/Excel5.php' ;
include_once 'library/PHPExcel/IOFactory.php' ;
$fileName = "test_excel" ;
$headArr = array ( "第一列" , "第二列" , "第三列" );
$data = array ( array (1,2), array (1,3), array (5,7));
getExcel( $fileName , $headArr , $data );
function getExcel( $fileName , $headArr , $data ){
     if ( empty ( $data ) || ! is_array ( $data )){
         die ( "data must be a array" );
     }
     if ( empty ( $fileName )){
         exit ;
     }
     $date = date ( "Y_m_d" ,time());
     $fileName .= "_{$date}.xlsx" ;
     //创建新的PHPExcel对象
     $objPHPExcel = new PHPExcel();
     $objProps = $objPHPExcel ->getProperties();
     
     //设置表头
     $key = ord( "A" );
     foreach ( $headArr as $v ){
         $colum = chr ( $key );
         $objPHPExcel ->setActiveSheetIndex(0) ->setCellValue( $colum . '1' , $v );
         $key += 1;
     }
     
     $column = 2;
     $objActSheet = $objPHPExcel ->getActiveSheet();
     foreach ( $data as $key => $rows ){ //行写入
         $span = ord( "A" );
         foreach ( $rows as $keyName => $value ){ // 列写入
             $j = chr ( $span );
             $objActSheet ->setCellValue( $j . $column , $value );
             $span ++;
         }
         $column ++;
     }
     $fileName = iconv( "utf-8" , "gb2312" , $fileName );
     //重命名表
     $objPHPExcel ->getActiveSheet()->setTitle( 'Simple' );
     //设置活动单指数到第一个表,所以Excel打开这是第一个表
     $objPHPExcel ->setActiveSheetIndex(0);
     //将输出重定向到一个客户端web浏览器(Excel2007)
           header( 'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' );
           header( "Content-Disposition: attachment; filename=\"$fileName\"" );
           header( 'Cache-Control: max-age=0' );
           $objWriter = PHPExcel_IOFactory::createWriter( $objPHPExcel , 'Excel2007' );
           if (! empty ( $_GET [ 'excel' ])){
             $objWriter ->save( 'php://output' ); //文件通过浏览器下载
         } else {
           $objWriter ->save( $fileName ); //脚本方式运行,保存在当前目录
         }
   exit ;
}

这篇关于PHPEXCEL生成excel文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/891628

相关文章

Java easyExcel实现导入多sheet的Excel

《JavaeasyExcel实现导入多sheet的Excel》这篇文章主要为大家详细介绍了如何使用JavaeasyExcel实现导入多sheet的Excel,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录1.官网2.Excel样式3.代码1.官网easyExcel官网2.Excel样式3.代码

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Python实现自动化Word文档样式复制与内容生成

《Python实现自动化Word文档样式复制与内容生成》在办公自动化领域,高效处理Word文档的样式和内容复制是一个常见需求,本文将展示如何利用Python的python-docx库实现... 目录一、为什么需要自动化 Word 文档处理二、核心功能实现:样式与表格的深度复制1. 表格复制(含样式与内容)2

python如何生成指定文件大小

《python如何生成指定文件大小》:本文主要介绍python如何生成指定文件大小的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python生成指定文件大小方法一(速度最快)方法二(中等速度)方法三(生成可读文本文件–较慢)方法四(使用内存映射高效生成

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Python实现pdf电子发票信息提取到excel表格

《Python实现pdf电子发票信息提取到excel表格》这篇文章主要为大家详细介绍了如何使用Python实现pdf电子发票信息提取并保存到excel表格,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录应用场景详细代码步骤总结优化应用场景电子发票信息提取系统主要应用于以下场景:企业财务部门:需

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2