整合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. matlab中set用法

    来源:https://www.cnblogs.com/sddai/p/5467500.html 1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值.例如,Lin ...

  2. 【题解】[SDOI2010]捉迷藏

    题目链接:https://www.luogu.com.cn/problem/P2479 题目大意:求平面\(n\)个点中,到其它\(n-1\)个点的曼哈顿距离最大和最小距离之差最小的点,求出这个这个距 ...

  3. 程序员你是如何使用Nacos作为配置中心的?

    假如你使用的是spring-cloud-alibaba微服务技术栈 单个服务独有配置文件 即去除应用程序的状态,配置统一外部化管理,方便进行水平的伸缩. 集成步骤: 假如我有一个应用app-desig ...

  4. URLEncoder.encode编码空格变+号

    今天调用rest接口的时候,使用URLEncoder编码将空格转为了+号,而rest接口方需要将空格转为%20,参照标准 之后用了不少在线的工具测试,有的将空格转为了+号,有的则是转为了%20.看了一 ...

  5. C#实例 武汉肺炎全国疫情实时信息图

    如果需要查看更多文章,请微信搜索公众号 csharp编程大全,需要进C#交流群群请加微信z438679770,备注进群, 我邀请你进群! ! ! --------------------------- ...

  6. 关于umi-request GET请求参数携带数组

    在使用umi-request时候发现GET传递数组,后台在接收时只能接受到最后一个,对此记录一下. 问题: // 发送数据: request(url, { params: { select: [1,2 ...

  7. go http爬虫

    1 package main import ( "fmt" "io/ioutil" "net/http" ) func main() { r ...

  8. python 爬取简书评论

    import json import requests from lxml import etree from time import sleep url = "https://www.ji ...

  9. 第三十六章 Linux常用性能检测的指令

    作为一个Linux运维人员,介绍下常用的性能检测指令! 一.uptime 命令返回的信息: 19:08:17              //系统当前时间 up 127 days,  3:00     ...

  10. 【洛谷】 cpp-->c 一道好玩的显示题

    P1538 这题真的好玩 题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同 ...