整合PHP  Excel和PHPexcelReader到

librarys下面
 
 
两个excel整合成一个excel
 
<?php

class Excel extends Controller {

    public function __construct() {
parent::Controller();
//初始化读取excel类
@$this->load->library("reader");
$reader = @$this->reader;
$reader->setOutputEncoding('UTF-8');
}
/// 将1的内容合并到2的内容当中从而生成3
public function getExcelContent(){
header("content-type:text/html;charset=utf-8"); $this -> load -> library('Excel/PHPExcel.php'); $this->load->library('Excel/PHPExcel/Reader/PHPExcel_Reader_Excel5.php');
$objReader=new PHPExcel_Reader_Excel5(); $objPHPExcel = new PHPExcel(); $data2=array(); $excel2="/home/wwwroot/excel/crs_edu_old/public/admin/system/excel/zsgxry_2.xls";
$this->reader->read($excel2);
$numRows1 = $this->reader->sheets [0] [numRows];
$numCols1 = $this->reader->sheets [0] [numCols];
$project1 = $this->reader->sheets [0] [cells]; if ($numRows1 > 0 && $numCols1 > 0) {
for($i=2;$i<=$numRows1;$i++){
$data2[$i]['id']=$project1[$i][1];
$data2[$i]['company']=$project1[$i][2];
$data2[$i]['name']=$project1[$i][3];
$data2[$i]['sex']=$project1[$i][4];
$data2[$i]['birthday']=$project1[$i][5];
$data2[$i]['cankao']=$project1[$i][6]; }
} $excel1="/home/wwwroot/excel/crs_edu_old/public/admin/system/excel/zsgxry_1.xls"; $objPHPExcel = $objReader->load($excel1);
//获取sheet表数目
$sheetCount = $objPHPExcel->getSheetCount(); //默认选中sheet0表
$sheetSelected = 0; $objPHPExcel->setActiveSheetIndex($sheetSelected); //获取表格行数
$rowCount = $objPHPExcel->getActiveSheet()->getHighestRow(); //获取表格列数
$columnCount = $objPHPExcel->getActiveSheet()->getHighestColumn(); $dataArr = array(); /** 循环读取每个单元格的数据 */
//行数循环
for ($row = 2; $row <= $rowCount; $row++){
//列数循环 , 列数是以A列开始
for ($column = 'E'; $column < $columnCount; $column++) {
//第一出现的位置不区分大小写 ,
if(stripos($objPHPExcel->getActiveSheet()->getCell("E".$row)->getValue(),",")>0){ $data_arr=explode(",",$objPHPExcel->getActiveSheet()->getCell("E".$row)->getValue()); foreach($data_arr as $val){ $dataArr[$row]["E"].=$val.";";
}
$dataArr[$row]["E"]=rtrim($dataArr[$row]["E"],";");
//第一出现的位置不区分大小写 、
}elseif(stripos($objPHPExcel->getActiveSheet()->getCell("E".$row)->getValue(),"、")){
$data_arr1=explode("、",$objPHPExcel->getActiveSheet()->getCell("E".$row)->getValue()); foreach($data_arr1 as $val){ $dataArr[$row]["E"].=$val.";";
}
$dataArr[$row]["E"]=rtrim($dataArr[$row]["E"],";");
}else{
$dataArr[$row]["E"] = $objPHPExcel->getActiveSheet()->getCell("E".$row)->getValue();
}
$dataArr[$row]["F"] = $objPHPExcel->getActiveSheet()->getCell("F".$row)->getValue();
}
} $objPHPExcel -> getDefaultStyle() -> getFont() -> setSize(10);
$objPHPExcel->getActiveSheet()->getStyle('C')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT); $objPHPExcel -> setActiveSheetIndex(0)
-> setCellValue('A1', '干部id(不可改)')
-> setCellValue('B1', '单位(不可改)')
-> setCellValue('C1', '姓名(不可改)')
-> setCellValue('D1', '性别(不可改)')
-> setCellValue('E1', '生日(不可改)')
-> setCellValue('F1', '职务参考(任免审批表填写职务)')
-> setCellValue('G1', '职务统计(可选值:党)')
-> setCellValue('H1', '排序(填写自然数字)'); $num1=count($data2); foreach($data2 as $i=>$val){
$objPHPExcel -> getActiveSheet()-> setCellValue('A'.$i, $data2[$i]['id']);
$objPHPExcel -> getActiveSheet()-> setCellValue('B'.$i, $data2[$i]['company']);
$objPHPExcel -> getActiveSheet()-> setCellValue('C'.$i, $data2[$i]['name']);
$objPHPExcel -> getActiveSheet()-> setCellValue('D'.$i, $data2[$i]['sex']);
$objPHPExcel -> getActiveSheet()-> setCellValue('E'.$i, $data2[$i]['birthday']);
$objPHPExcel -> getActiveSheet()-> setCellValue('F'.$i, $data2[$i]['cankao']);
$objPHPExcel -> getActiveSheet()-> setCellValue('G'.$i, ";".$dataArr[$i]['E'].";");
$objPHPExcel -> getActiveSheet()-> setCellValue('H'.$i, $dataArr[$i]['F']);
} header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename=11.xls');
header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output');
// $objWriter -> save("/home/wwwroot/excel/crs_edu_old/public/admin/system/excel/zsgxry.xls"); } public function getExcel1(){
//excel1内容
$excel1="/home/wwwroot/excel/crs_edu_old/public/admin/system/excel/zsgxry_1.xls";
$this->reader->read($excel1);
$numRows =$this->reader->sheets [0] [numRows];
$numCols = $this->reader->sheets [0] [numCols];
$project = $this->reader->sheets [0] [cells];
$msg = '';$msg2='';$count=0;$count2=0;$r=0; if ($numRows > 0 && $numCols > 0) {
for($i=2;$i<=$numRows;$i++){ if(stripos($project[$i][5],",")>0){ $data_arr=explode(",",$project[$i][5]);
foreach($data_arr as $val){
$data[$i]['position'].=$val.";";
}
$data[$i]['position']=rtrim($data[$i]['position'],";");
}else{
$data[$i]['position']=$project[$i][5];
}
$data[$i]['sorts']=$project[$i][6];
}
} return $data;
} public function getExcel2(){
//excel2内容
$excel2="/home/wwwroot/excel/crs_edu_old/public/admin/system/excel/zsgxry_2.xls";
$this->reader->read($excel2);
$numRows1 = $this->reader->sheets [0] [numRows];
$numCols1 = $this->reader->sheets [0] [numCols];
$project1 = $this->reader->sheets [0] [cells];
$msg = '';$msg2='';$count=0;$count2=0;$r=0; if ($numRows1 > 0 && $numCols1 > 0) {
for($i=2;$i<=$numRows1;$i++){
$data2[$i]['id']=$project1[$i][1];
$data2[$i]['company']=$project1[$i][2];
$data2[$i]['name']=$project1[$i][3];
$data2[$i]['sex']=$project1[$i][4];
$data2[$i]['birthday']=$project1[$i][5];
$data2[$i]['cankao']=$project1[$i][6]; }
}
return $data2;
} }
?>

  

CI框架导入 excel的更多相关文章

  1. ci框架读取上传的excel文件数据

    原文链接: https://blog.csdn.net/qq_38148394/article/details/87921373 此功能实现使用到PHPExcel类库,PHPExcel是一个PHP类库 ...

  2. Spring Boot下的一种导入Excel文件的代码框架

    1.前言 ​ Spring Boot下如果只是导入一个简单的Excel文件,是容易的.网上类似的文章不少,有的针对具体的实体类,代码可重用性不高:有的利用反射机制或自定义注解,开发了Excel导入工具 ...

  3. 基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能

    思路: 1.首先,页面前端,上传附件,提交给后台,并带一个随机性的参数(可以用时间戳): 2.后端接收附件,做一系列的逻辑处理,无误后,将对应的文件存储在上传的目录下: 3.然后前端,上传附件成功后, ...

  4. [Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!

    引言 项目中常用到将数据导入Excel,将Excel中的数据导入数据库的功能,曾经也查找过相关的内容,将曾经用过的方案总结一下. 方案一 NPOI NPOI 是 POI 项目的 .NET 版本.POI ...

  5. CI框架源码阅读笔记4 引导文件CodeIgniter.php

    到了这里,终于进入CI框架的核心了.既然是“引导”文件,那么就是对用户的请求.参数等做相应的导向,让用户请求和数据流按照正确的线路各就各位.例如,用户的请求url: http://you.host.c ...

  6. JSP导入EXCEL样式

    http://demo.gcpowertools.com.cn/spreadjs/exceliosample/exceliosample/ Java实现导入Excel: 1.做一个jsp页面,页面包括 ...

  7. CI框架程序--本地调试之后部署新浪SAE

    前几天给朋友写了个简单的网站, 想想还是部署到服务器上让朋友看一下效果! 用CI框架写的,有个SAE新浪云的账号,可以用!就部署到上面去了!途中遇到了一些问题!一一解决了! 在这里分享一下 供遇到这些 ...

  8. Ci框架整合smarty模板引擎

    Ci框架整合smarty模板引擎 备注:下载smarty时,最好选择2.6版本,其他测试有坑,ci可以是2.2或其他 大体思路:将smarty封装成ci框架的一个类,然后重新配置一下smarty,这样 ...

  9. ThinkPHP导入Excel文件(使用PHPExcel)

    一. 主要知识点,用PHPExcel导入Excel数据经过这几天测试还是可以,xls,xlsx都可以获取Excel的数据.下载地址:http://phpexcel.codeplex.com/ O.开发 ...

随机推荐

  1. P4279 [SHOI2008]小约翰的游戏(Anti_nim)

    Link 题面 题目描述 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有 \(n\) 堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子, 在这堆石子中取走任意多的石子,但不 ...

  2. BeetleX之webapi使用入门

    BeetleX是TCP通讯应用组件,在它之上可以扩展任何基于TCP的应用通讯功能.FastHttpApi是组件扩展的一个Http/Https/Websocket服务组件,它提供的功能丰富,包括功能有: ...

  3. MySQL基础 :基本知识点大纲

  4. python进程开启的两种方式

    一.进程 1.1.方式一 from multiprocessing import Process import time #方式一 def task(name): print(f"my na ...

  5. vue 组件的封装

    封装的原因 首先封装组件的需求肯定是多个地方要用到同一个东西,他们都有公共的地方,vue的封装 简单来说就是将公共参数封装起来 然后在需要的地方引入 //子组件封装 <template> ...

  6. 学习使用C语言/C++编程的7个步骤!超赞~

    C是一种编译性语言.如果你以前从来没有接触过任何的编程语言,那么你则需要学习一下一个拆分的逻辑思维.当我们想要写一个项目或者软件的时候,我们需要把这个整体拆分为7个步骤,这样也会让你的思路看起来更有条 ...

  7. go读取excel表格数据

    go读取excel表格数据 使用工具 github.com/Luxurioust/excelize 百度到的都是使用这个 实际上已经改名了 github.com/360EntSecGroup-Skyl ...

  8. linux创建www用户组和用户

    linux创建www用户组和用户 wdcp中的nginx服务启动需要依赖www用户,因此若没有此用户就可能会启动失败.创建这个用户的方法: [root@bogon local]# id www [ro ...

  9. Linux文件系统和管理-2文件操作命令(上)

    文件操作命令 文件 文件也包括目录 目录是一种特殊的文件 目录 一个目录名分成两部分 所在目录 dirname 父目录的路径 文件名 basename 本身就是两个命令 [root@C8-1 misc ...

  10. sangforEDR 任意命令执行

    EDR 使用范围 由于只有POC 没有详细细节.暂时不知道具体细节. 部分EDR 已经完成升级,不存在该漏洞. POC https://XXX:8081/tool/log/c.php?strip_sl ...