问题描述:只想用 php 代码合并多个excel 文件,因为 php 环境简单,可能随时移动,那就只要下载一个PhpStudy 就可以使用了。

问题解决:

目录如下:

index.php 代码如下:


```php
<?phpfunction mainExcel($beginNumber, $endNumber, $createFileName) {//扫描文件夹    scan file$dir =  dirname(__FILE__) . '/xlsfiles/';$file = scandir($dir);$all_excele_data_arr = [];      // 定义所有excel 文件的数据列表 define excel all data arrayforeach ($file as $key => $value) {// 判断是不是文件 whether it is file or notif (is_file($dir.$value)) {$all_excele_data_arr[] = excelToArray($beginNumber, $endNumber, $value, $all_excele_data_arr);          // 把返回的数组全部放入到一个数组里面}}exportExcel2($all_excele_data_arr, $createFileName);// 测试用 for test//print_r(count($all_excele_data_arr));                             // 打印数组,看看长度,确定一下有没有 print array length to check collected or not //foreach ($all_excele_data_arr as $key => $value) {                // 第三层数组,才取到数据 third folor , the data can by read//    echo $key . "SSSSSSSSSSSS" . $value . "<br />";//    foreach ($value as $k => $v) {//        echo $k . "=================" . $v . "<br />";//        foreach ($v as $n => $m) {//            echo $n . "-----------" . $m . "<br />";//        }//    }//}}function excelToArray($rowBeginNumber, $columnEndNumber, $excelfile, $all_excele_data_arr){  require_once dirname(__FILE__) . '/PHPExcel/IOFactory.php';  //加载excel文件  $filename = dirname(__FILE__) . '/xlsfiles/' . $excelfile;$objPHPExcelReader = PHPExcel_IOFactory::load($filename);    $reader = $objPHPExcelReader->getWorksheetIterator();  //循环读取sheet  foreach($reader as $sheet) {  //读取表内容  $content = $sheet->getRowIterator();  //逐行处理  foreach($content as $key => $items) {  $rows = $items->getRowIndex();              //行  $columns = $items->getCellIterator();       //列  $row_arr = array();  //确定从哪一行开始读取 the row begin to read  if($rows < $rowBeginNumber){continue;}//逐列读取  read by rowforeach($columns as $head => $cell) {  //获取cell中数据   get cell data   // array_push($array, "blue", "yellow");if ($head == $columnEndNumber) {        // 遇到要终止的列就终止,读下一列break;} else {$data = $cell->getValue();$row_arr[] = $data;}}  $all_excele_data_arr[] = $row_arr;         // 把数组放进数组 push array in array}  }return $all_excele_data_arr;                        // 把数组放进数组 push array in array
}/** * 创建(导出)Excel数据表格 * @param  array   $list        要导出的数组格式的数据 * @param  string  $filename    导出的Excel表格数据表的文件名 * @param  array   $indexKey    $list数组中与Excel表格表头$header中每个项目对应的字段的名字(key值) * @param  array   $startRow    第一条数据在Excel表格中起始行 * @param  [bool]  $excel2007   是否生成Excel2007(.xlsx)以上兼容的数据表 * 比如: $indexKey与$list数组对应关系如下: *     $indexKey = array('id','username','sex','age'); *     $list = array(array('id'=>1,'username'=>'YQJ','sex'=>'男','age'=>24)); */  function exportExcel2($list,$filename){  require_once dirname(__FILE__) . '/PHPExcel/IOFactory.php';  require_once dirname(__FILE__) . '/PHPExcel.php';  require_once dirname(__FILE__) . '/PHPExcel/Writer/Excel2007.php';  $header_arr = array('A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z', 'AA', 'AB', 'AC', 'AD');  $indexKey = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29);  // $objPHPExcel = new PHPExcel();                        //初始化PHPExcel(),不使用模板 $template = dirname(__FILE__).'/template.xlsx';          //使用模板     use template$objPHPExcel = PHPExcel_IOFactory::load($template);     //加载excel文件,设置模板$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);  //设置保存版本格式  //接下来就是写数据到表格里面去  $objActSheet = $objPHPExcel->getActiveSheet();// 下面 2 行用于代码测试用//$objActSheet->setCellValue('A2', iconv('gbk', 'utf-8', '一点都不好了好'));  //$objActSheet->setCellValue('C2',  iconv('gbk', 'utf-8', "导出时间:".date('Y-m-d H:i:s')));$i = 4;foreach ($list as $key1 => $value1) {// 跳过头部,序列 (且如果姓名没有填写,就放弃不要了) if the name is empty, abandon the informationforeach ($value1 as $key2 => $value2) {if (count($value2) > 5 && count($value2) < 40 && trim($value2[1]) != '') {foreach ($value2 as $a => $b) {// 不能输出,否则报错 can't output information , or bug comes up //echo "the target cell is:::".$header_arr[$a].$i.":::and the value is ".$b."<br />";$objActSheet->setCellValue( $header_arr[$a].$i, $b);}$i++;}}}/*foreach ($list as $key => $row) {// 跳过头部,序列 (且如果姓名没有填写,就放弃不要了) if the name is empty, abandon the informationif (trim($row[1]) != '' ) {foreach ($row as $a => $b) {// 不能输出,否则报错 can't output information , or bug comes up //echo "the target cell is:::".$header_arr[$a].$i.":::and the value is ".$b."<br />";$objActSheet->setCellValue( $header_arr[$a].$i, $b);}$i++;}}*/// 1.保存至本地Excel表格  //$objWriter->save($filename.'.xlsx');  // 2.接下来当然是下载这个表格了,在浏览器输出就好了  header("Pragma: public");  header("Expires: 0");  header("Cache-Control:must-revalidate, post-check=0, pre-check=0");  header("Content-Type:application/force-download");  header("Content-Transfer-Encoding: binary");header("Content-Type:application/vnd.ms-execl");  header("Content-Type:application/octet-stream");  header("Content-Type:application/download");;  header('Content-Disposition:attachment;filename="'.$filename.'.xlsx"');  header("Pragma: no-cache");$objWriter->save('php://output');
}mainExcel(4, 'AE', 'pharmacy');   // 每个文件起始的 1:行数, 2: 结束的列数; 3: 要生成的文件名;?>

PHP合并多个excel文件相关推荐

  1. wireshark合并多个文件_小技巧:快速合并多个excel文件(收藏版)

    我们在日常工作或科研中,总会遇到需要汇总多个excel的情况,若仅仅是几个表格,大多人会直接复制,若有上百个表格呢?     那么小编就告诉大家一个稍微简洁一点的方法,将多个单独的excel表格快速合 ...

  2. python合并excel文件关键字_python合并多个excel文件的示例

    工作中经常遇到要将十几个Excel(不管是xls.或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通 ...

  3. 合并数据 - 合并多个Excel文件并转成CSV - Python代码

    在工作中,有时候因为部门间的数据权限问题,推送数据的时候往往是通过邮件完成,对于量大的数据,往往会拆成很多个excel发送,到下一个部门导入数据库之前,总是需要先将所有excel合成一个excel,再 ...

  4. python合并多个excel的某些字段_python合并多个excel文件的示例

    工作中经常遇到要将十几个Excel(不管是xls.或者是CSV)合并到同一个文件中去,手工一个一个复制是不可能的,此时就轮到Python出马了 主要是利用for循环,读取每一个文件,作为df,然后再通 ...

  5. 合并excel文件 C语言,多个Excel文件中的多个Sheet合并到一个Excel文件中两个函数...

    unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, For ...

  6. 合并多个excel文件数据

    合并多个excel文件数据 工作中,经常我们会得到一些excel表格,存放着格式相同的一些数据.如果我们想要对这些数据进行数据分析,因为数据分布在多个excel文件或者多个sheet,分析起来比较困难 ...

  7. 如何合并多个excel文件图文步骤

    Excel大家都不陌生了,这是我们日常办公常用的软件,那么你知道多个excel文件合并成一个excel表的方法是什么吗?有时候会有很多Excel 表格,我们需要把它们合并在一起,应该如何操作呢?相信很 ...

  8. 如何合并多个Excel文件(相同列结构)至一个Excel文件中

    如何合并多个Excel文件(相同列结构)至一个Excel文件中 1. 将待合并数据格式一样的Excel文件放置在一个文件夹下 2. 新建一个Excel空文件,用来存放合并数据 3. 点击[数据]> ...

  9. python学习之路:合并多个excel文件、合并多个pdf文件

    **关键点: python中的os模块 python中的pandas中的concat python中的PyPDF2模块** 1.合并多个Excel文件 import os import pandas ...

  10. 合并多个Excel文件

    [实验目的] 1.利用Kettle的"Excel输入"等组件,完成合并多个Excel文件. 2.熟练掌握"Excel输入"组件,命名参数,通配符的使用,完成合并 ...

最新文章

  1. haproxy负载均衡
  2. Python入门100题 | 第005题
  3. windows下Python到linux运行遇到的字符编码问题
  4. wpf 带复选框的treeview_WPF:带复选框CheckBox的树TreeView
  5. 什么是分镜头剧本?(分镜头剧本是将文字转换成立体视听形象的中间媒介。主要任务是根据解说词和电视文学脚本来设计相应画面,配置音乐音响,把握片子的节奏和风格等。)
  6. JDBC query VARRAY on DB level
  7. 读《构建之法》第11,12章有感
  8. 前端js文件合并三种方式
  9. 每天一个实用小技巧!教你在Mac上快速输入长文本
  10. [故事]Making machines with brains
  11. lsoci mysql_【MySQL】InnoDB日志机制深入分析
  12. notepad 怎么配置编译c语言,Notepad++ 配置c/c++编译环境
  13. 解决谷歌浏览器添加插件时显示程序包无效:“CRX_HEADER_INVALID“
  14. 匿名方法和Lambda表达式
  15. mac被限制什么意思_苹果ip完美解决电脑ip被限制问题
  16. python代码完成Fisher判别
  17. 初识HTTP——基于《图解HTTP》
  18. 微信公众号支付从前端到后台(小白教程)
  19. java求几何周长面积_java求几何图形面积
  20. 教你如何写好商业计划书 赢得风险投资

热门文章

  1. C++ 实现一个虚拟聊天软件
  2. Linux服务器网络运维监控软件
  3. 【vue手写图片预览组件】在vue2.0项目中手写图片预览组件,旋转、放大、滚动、下载等功能
  4. ArcCatalog基本操作
  5. acwing-提高课
  6. Micro USB 引脚定义及OTG (USB-HOST) 接线
  7. 微信网页开发 无法播放视频
  8. 导出数据库设计文档的几种方案
  9. 2020网易游戏测试面试二面面经(上海春招)
  10. OpenCV.js 视频入门