thinkphp中使用phpexecl多表格应用
去PHPExcel官网下载相应的版本,放到thinkphp3.2版本下的ThinkPHP/Library/Vendor/PHPExcel文件夹下

导出表格:
//多个单元格(已测试)
public function modeler(){ Vendor('PHPExcel.PHPExcel');
//浏览器输出excel
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="dzg_card_info.xlsx"');
header('Cache-Control: max-age=0'); $objPHPExcel = new \PHPExcel();
$objPHPExcel->setActiveSheetIndex(0); //设置第一个工作表为活动工作表
$objPHPExcel->getActiveSheet()->setTitle('card_info'); //设置工作表名称
//为单元格赋值
//方法①:直接设置单元格的值
/* $objPHPExcel->getActiveSheet()->setCellValue('A1', 'PHPExcel');
$objPHPExcel->getActiveSheet()->setCellValue('A2', 12345.6789);
$objPHPExcel->getActiveSheet()->setCellValue('A3', TRUE); */ //方法②:二维数组
$arrHeader = array(['id', '名字', '技能', '创建时间']);
$arrAllCardInfo = array(['id', '名字', '技能', '创建时间']); //二维数组
$arrExcelInfo = array_merge($arrHeader, $arrAllCardInfo);
//$arrExcelInfo = eval('return ' . iconv('gbk', 'utf-8', var_export($arrExcelInfo, true)) . ';'); //将数组转换成utf-8
$objPHPExcel->getActiveSheet()->fromArray(
$arrExcelInfo, // 赋值的数组
NULL, // 忽略的值,不会在excel中显示
'A1' // 赋值的起始位置
); //创建第二个工作表
$msgWorkSheet = new \PHPExcel_Worksheet($objPHPExcel, 'card_message'); //创建一个工作表
$objPHPExcel->addSheet($msgWorkSheet); //插入工作表
$objPHPExcel->setActiveSheetIndex(1); //切换到新创建的工作表
$arrHeader = array(['id', 'uid', '描述']);
$arrBody = array(['id', 'uid', '描述']);
$arrExcelInfo = array_merge($arrHeader, $arrBody);
//$arrExcelInfo = eval('return ' . iconv('gbk', 'utf-8', var_export($arrExcelInfo, true)) . ';'); //将数组转换成utf-8
$objPHPExcel->getActiveSheet()->fromArray(
$arrExcelInfo, // 赋值的数组
NULL, // 忽略的值,不会在excel中显示
'A1' // 赋值的起始位置
); $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel2007");
$objWriter->save('php://output'); $objPHPExcel->disconnectWorksheets();
unset($objPHPExcel); } //多个sheet( 已测试)
public function moresheet(){
Vendor('PHPExcel.PHPExcel'); //模拟数据
$mulit_arr = array(
array('标题1', '标题2', '标题3'),
array('a', 'b', 'c'),
array('d', 'e', 'f')
);
/* @实例化 */
$obpe = new \PHPExcel(); /* @func 设置文档基本属性 */
$obpe_pro = $obpe->getProperties();
$obpe_pro->setCreator('midoks')//设置创建者
->setLastModifiedBy('2013/2/16 15:00')//设置时间
->setTitle('data')//设置标题
->setSubject('beizhu')//设置备注
->setDescription('miaoshu')//设置描述
->setKeywords('keyword')//设置关键字 | 标记
->setCategory('catagory');//设置类别 /* 设置宽度 */
//$obpe->getActiveSheet()->getColumnDimension()->setAutoSize(true);
//$obpe->getActiveSheet()->getColumnDimension('B')->setWidth(10); //设置当前sheet索引,用于后续的内容操作
//一般用在对个Sheet的时候才需要显示调用
//缺省情况下,PHPExcel会自动创建第一个SHEET被设置SheetIndex=0
//设置SHEET
$obpe->setactivesheetindex(0);
//写入多行数据
foreach($mulit_arr as $k=>$v){
$k = $k+1;
/* @func 设置列 */
$obpe->getactivesheet()->setcellvalue('A'.$k, $v[0]);
$obpe->getactivesheet()->setcellvalue('B'.$k, $v[1]);
$obpe->getactivesheet()->setcellvalue('C'.$k, $v[2]);
} //创建一个新的工作空间(sheet)
$obpe->createSheet();
$obpe->setactivesheetindex(1);
//写入多行数据
foreach($mulit_arr as $k=>$v){
$k = $k+1;
/* @func 设置列 */
$obpe->getactivesheet()->setcellvalue('A'.$k, $v[0]);
$obpe->getactivesheet()->setcellvalue('B'.$k, $v[1]);
$obpe->getactivesheet()->setcellvalue('C'.$k, $v[2]);
} $filename = iconv('utf-8',"gb2312",$filename);//转换名称编码,防止乱码
header ( 'Content-Type: application/vnd.ms-excel;charset=utf-8' );
header ( 'Content-Disposition: attachment;filename="' . $filename . '.xls"' ); //”‘.$filename.’.xls”
header ( 'Cache-Control: max-age=0');
//写入类容
$obwrite = \PHPExcel_IOFactory::createWriter($obpe, 'Excel5'); //保存文件
$obwrite->save ('php://output');
exit;
}
新建实例(已测试能导出导入)
<?php namespace Common\Model;
use Think\Model; /**
* PHPexecl
*/
class PhpexeclModel { public $letter = array(
0=>'A',
1=>'B' ,
2=>'C' ,
3=>'D' ,
4=>'E' ,
5=>'F' ,
6=>'G' ,
7=>'H' ,
8=>'I' ,
9=>'J' ,
10=>'K' ,
11=>'L' ,
12=>'M' ,
13=>'N' ,
14=>'O' ,
15=>'P' ,
16=>'Q' ,
17=>'R' ,
18=>'S' ,
19=>'T' ,
20=>'U' ,
21=>'V' ,
22=>'W' ,
23=>'X' ,
24=>'Y' ,
25=>'Z'
); //创建execl
/** 数据格式一定要这样
*$dx_array = array(
array('省市','目前成本','供应商最低报价'),
array('#f7941d-全国','0','9.5', array(
array('#00a650-海德','9','一手'),
array('#fff100-尚通爱讯','9.5','二手'),
array('#00a650-云联','9.3','三手'),
))
);
*/
function create_execl($filename,$yd_data = array(),$lt_data = array(),$dx_data = array())
{ //导出
Vendor('PHPExcel.PHPExcel');
$filename = iconv('utf-8',"gb2312",$filename);//转换名称编码,防止乱码
header ( 'Content-Type: application/vnd.ms-excel;charset=utf-8' );
header ( 'Content-Disposition: attachment;filename="' . $filename . '.xls"' );
header ( 'Cache-Control: max-age=0'); //创建一个移动表
$objPHPExcel = new \PHPExcel();
$objPHPExcel->setActiveSheetIndex(0); //设置第一个工作表为活动工作表
$objPHPExcel->getActiveSheet()->setTitle('移动'); //设置工作表名称
//设置自动化尺寸
for( $i=0;$i<count($this->letter);$i++){
$objPHPExcel->getActiveSheet()->getColumnDimension($this->letter[$i])->setWidth(30);
} $ydnum = count($yd_data);
$num = 0;
for($i =0;$i < $ydnum;$i++){
$name = "";
if($i == 0){//第一行
foreach($yd_data[$i] as $key=>$value){
$name = $this->letter[$key].'1';
$objPHPExcel->getActiveSheet()->setCellValue($name, $value);
$objPHPExcel->getActiveSheet()->getStyle($name)->getFont()->setSize(20);
}
}
else{//其他行 $num = ( $i * 3 ) + 2 ;
if(is_array($yd_data[$i])){
foreach($yd_data[$i] as $key=>$value){ if( is_array($value) ){ //供应商信息
//dump($value);echo '<hr />'; foreach($value as $k=>$val){
//echo $k.'--'. print_r($val,true);
//echo '<br>'; //每个公司数据
if( is_array($val) ){ $zimu = $key+$k;
$one = $num - 3;
$two = $num - 2;
$three = $num - 1;
$onename = $this->letter[$zimu].$one;
$twoname = $this->letter[$zimu].$two;
$threename = $this->letter[$zimu].$three; //echo $onename.$twoname.$threename.'<br />';
//echo $val[0].'---'.$val[1].'---'.$val[2].'<br />'; if( empty($val) ){ //供应商
$objPHPExcel->getActiveSheet()->setCellValue($onename, "");
//价格
$objPHPExcel->getActiveSheet()->setCellValue($twoname, "");
//几手资源
$objPHPExcel->getActiveSheet()->setCellValue($threename, ""); }
else{
$arr = explode('-',$val[0]);
//供应商
$objPHPExcel->getActiveSheet()->getStyle($onename)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($onename)->getFill()->getStartColor()->setRGB( substr( $arr[0] , 1) );
$objPHPExcel->getActiveSheet()->setCellValue($onename, $arr[1]);
//价格
$objPHPExcel->getActiveSheet()->getStyle($twoname)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($twoname)->getFill()->getStartColor()->setRGB(substr($arr[0], 1));
$objPHPExcel->getActiveSheet()->setCellValue($twoname, $val[1]);
//几手资源
$objPHPExcel->getActiveSheet()->getStyle($threename)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($threename)->getFill()->getStartColor()->setRGB(substr($arr[0], 1));
$objPHPExcel->getActiveSheet()->setCellValue($threename, $val[2]); } } }
//die;
}
else{ //合并三个单元格
$one = $num - 3;
$two = $num - 2;
$three = $num - 1; $onename = $this->letter[$key].$one.":".$this->letter[$key].$two;
$twoname = $this->letter[$key].$two.":".$this->letter[$key].$three; //合并3个单元格
$objPHPExcel->getActiveSheet()->mergeCells($onename);
$objPHPExcel->getActiveSheet()->mergeCells($twoname); //echo $this->letter[$key].$one.'--<br />';
$name = $this->letter[$key].$one;
//省市
if($key == 0){
$arr = explode('-',$value);
$objPHPExcel->getActiveSheet()->getStyle($name)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($name)->getFill()->getStartColor()->setRGB( substr( $arr[0] , 1) );
$objPHPExcel->getActiveSheet()->setCellValue($name, $arr[1]); }
else{
$objPHPExcel->getActiveSheet()->setCellValue($name, $value);
} } }
} } }
//die; //创建一个联通表
$ltSheet = new \PHPExcel_Worksheet($objPHPExcel, '联通');
$objPHPExcel->addSheet($ltSheet); //插入工作表
$objPHPExcel->setActiveSheetIndex(1); //切换到新创建的工作表 //设置自动化尺寸
for( $i=0;$i<count($this->letter);$i++){
$objPHPExcel->getActiveSheet()->getColumnDimension($this->letter[$i])->setWidth(30);
}
$ydnum = count($lt_data);
$num = 0;
for($i =0;$i < $ydnum;$i++){
$name = "";
if($i == 0){//第一行
foreach($lt_data[$i] as $key=>$value){
$name = $this->letter[$key].'1';
$objPHPExcel->getActiveSheet()->setCellValue($name, $value);
$objPHPExcel->getActiveSheet()->getStyle($name)->getFont()->setSize(20);
}
}
else{//其他行 $num = ( $i * 3 ) + 2 ;
if(is_array($lt_data[$i])){
foreach($lt_data[$i] as $key=>$value){ if( is_array($value) ){ //供应商信息
//dump($value);echo '<hr />'; foreach($value as $k=>$val){
//echo $k.'--'. print_r($val,true);
//echo '<br>'; //每个公司数据
if( is_array($val) ){ $zimu = $key+$k;
$one = $num - 3;
$two = $num - 2;
$three = $num - 1;
$onename = $this->letter[$zimu].$one;
$twoname = $this->letter[$zimu].$two;
$threename = $this->letter[$zimu].$three; //echo $onename.$twoname.$threename.'<br />';
//echo $val[0].'---'.$val[1].'---'.$val[2].'<br />';
if( empty($val) ){ //供应商
$objPHPExcel->getActiveSheet()->setCellValue($onename, "");
//价格
$objPHPExcel->getActiveSheet()->setCellValue($twoname, "");
//几手资源
$objPHPExcel->getActiveSheet()->setCellValue($threename, ""); }
else{
$arr = explode('-',$val[0]);
//供应商
$objPHPExcel->getActiveSheet()->getStyle($onename)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($onename)->getFill()->getStartColor()->setRGB(substr($arr[0], 1));
$objPHPExcel->getActiveSheet()->setCellValue($onename, $arr[1]);
//价格
$objPHPExcel->getActiveSheet()->getStyle($twoname)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($twoname)->getFill()->getStartColor()->setRGB(substr($arr[0], 1));
$objPHPExcel->getActiveSheet()->setCellValue($twoname, $val[1]);
//几手资源
$objPHPExcel->getActiveSheet()->getStyle($threename)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($threename)->getFill()->getStartColor()->setRGB(substr($arr[0], 1));
$objPHPExcel->getActiveSheet()->setCellValue($threename, $val[2]); } } }
//die;
}
else{ //合并三个单元格
$one = $num - 3;
$two = $num - 2;
$three = $num - 1; $onename = $this->letter[$key].$one.":".$this->letter[$key].$two;
$twoname = $this->letter[$key].$two.":".$this->letter[$key].$three; //合并3个单元格
$objPHPExcel->getActiveSheet()->mergeCells($onename);
$objPHPExcel->getActiveSheet()->mergeCells($twoname); //echo $this->letter[$key].$one.'--<br />';
$name = $this->letter[$key].$one;
//省市
if($key == 0){
$arr = explode('-',$value);
$objPHPExcel->getActiveSheet()->getStyle($name)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($name)->getFill()->getStartColor()->setRGB( substr( $arr[0] , 1) );
$objPHPExcel->getActiveSheet()->setCellValue($name, $arr[1]); }
else{
$objPHPExcel->getActiveSheet()->setCellValue($name, $value);
} } }
} }
} //创建电信工作表
$dxSheet = new \PHPExcel_Worksheet($objPHPExcel, '电信');
$objPHPExcel->addSheet($dxSheet); //插入工作表
$objPHPExcel->setActiveSheetIndex(2); //切换到新创建的工作表 //设置自动化尺寸
for( $i=0;$i<count($this->letter);$i++){
$objPHPExcel->getActiveSheet()->getColumnDimension($this->letter[$i])->setWidth(30);
} $ydnum = count($dx_data);
$num = 0;
for($i =0;$i < $ydnum;$i++){
$name = "";
if($i == 0){//第一行
foreach($dx_data[$i] as $key=>$value){
$name = $this->letter[$key].'1';
$objPHPExcel->getActiveSheet()->setCellValue($name, $value);
$objPHPExcel->getActiveSheet()->getStyle($name)->getFont()->setSize(20);
}
}
else{//其他行 $num = ( $i * 3 ) + 2 ;
if(is_array($dx_data[$i])){
foreach($dx_data[$i] as $key=>$value){ if( is_array($value) ){ //供应商信息
//dump($value);echo '<hr />'; foreach($value as $k=>$val){
//echo $k.'--'. print_r($val,true);
//echo '<br>'; //每个公司数据
if( is_array($val) ){ $zimu = $key+$k;
$one = $num - 3;
$two = $num - 2;
$three = $num - 1;
$onename = $this->letter[$zimu].$one;
$twoname = $this->letter[$zimu].$two;
$threename = $this->letter[$zimu].$three; //echo $onename.$twoname.$threename.'<br />';
//echo $val[0].'---'.$val[1].'---'.$val[2].'<br />';
if( empty($val) ){ //供应商
$objPHPExcel->getActiveSheet()->setCellValue($onename, "");
//价格
$objPHPExcel->getActiveSheet()->setCellValue($twoname, "");
//几手资源
$objPHPExcel->getActiveSheet()->setCellValue($threename, ""); }
else{
$arr = explode('-',$val[0]); //供应商
$objPHPExcel->getActiveSheet()->getStyle($onename)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($onename)->getFill()->getStartColor()->setRGB(substr($arr[0], 1));
$objPHPExcel->getActiveSheet()->setCellValue($onename, $arr[1]);
//价格
$objPHPExcel->getActiveSheet()->getStyle($twoname)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($twoname)->getFill()->getStartColor()->setRGB(substr($arr[0], 1));
$objPHPExcel->getActiveSheet()->setCellValue($twoname, $val[1]);
//几手资源 $objPHPExcel->getActiveSheet()->getStyle($threename)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($threename)->getFill()->getStartColor()->setRGB(substr($arr[0], 1)); $objPHPExcel->getActiveSheet()->setCellValue($threename, $val[2]); }
} }
//die;
}
else{ //合并三个单元格
$one = $num - 3;
$two = $num - 2;
$three = $num - 1; $onename = $this->letter[$key].$one.":".$this->letter[$key].$two;
$twoname = $this->letter[$key].$two.":".$this->letter[$key].$three; //合并3个单元格
$objPHPExcel->getActiveSheet()->mergeCells($onename);
$objPHPExcel->getActiveSheet()->mergeCells($twoname); //echo $this->letter[$key].$one.'--<br />';
$name = $this->letter[$key].$one;
//省市
if($key == 0){
$arr = explode('-',$value);
$objPHPExcel->getActiveSheet()->getStyle($name)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle($name)->getFill()->getStartColor()->setRGB( substr( $arr[0] , 1) );
$objPHPExcel->getActiveSheet()->setCellValue($name, $arr[1]); }
else{
$objPHPExcel->getActiveSheet()->setCellValue($name, $value);
} } }
} }
} $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel5");
$objWriter->save('php://output'); $objPHPExcel->disconnectWorksheets();
unset($objPHPExcel);
} //导入数据
public function import_execl( $filename, $oid ){
Vendor('PHPExcel.PHPExcel');
$file_types = explode ( ".", $filename );
$file_type = $file_types [count ( $file_types ) - 1]; if($file_type=="xlsx"){
$PHPExcel = \PHPExcel_IOFactory::createReader('Excel2007');
}else{
$PHPExcel = \PHPExcel_IOFactory::createReader('Excel5');
}
$PHPExcel = $PHPExcel->load($filename); //移动数据
/*
$yd_sheet = $PHPExcel->getSheet(0);
$yd_highestRow = $yd_sheet->getHighestRow(); $company_list = array();
$company_name = $company_price = $company_resources =null;
$province = $province_price = '';
for($i=2;$i<$yd_highestRow;$i++){ //3列为一组
$remainder = $i % 3;
if( $remainder == 2){ //公司名称
$province = $yd_sheet->getCell("A".$i)->getValue();//省市
$province_price = $yd_sheet->getCell("B".$i)->getValue();//省市成本 $company_list[$province]['province'] = $province;
$company_list[$province]['province_price'] = $province_price; for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$company_name = $yd_sheet->getCell($zimu)->getValue(); if( isset($company_name) ){
$company_list[$province]['company_name'][] = $company_name;
} }
}elseif( $remainder == 0){ //价钱
for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$company_price = $yd_sheet->getCell($zimu)->getValue(); if( isset($company_price) ){
$company_list[$province]['company_price'][] = $company_price;
} }
}elseif( $remainder == 1){ //几手资源
for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$company_resources = $yd_sheet->getCell($zimu)->getValue(); if( isset($company_resources) ){
$company_list[$province]['company_resources'][] = $company_resources;
} } } }
*/ //移动数据
$yd_sheet = $PHPExcel->getSheet(0);
$yd_highestRow = $yd_sheet->getHighestRow(); $yd_company_list = array();
$yd_company_name = $yd_company_price = $yd_company_resources =null;
$yd_province = $yd_province_price = '';
for($i=2;$i<$yd_highestRow;$i++){ //3列为一组
$remainder = $i % 3;
if( $remainder == 2){ //公司名称
$yd_province = $yd_sheet->getCell("A".$i)->getValue();//省市
$yd_province_price = $yd_sheet->getCell("B".$i)->getValue();//省市成本 $yd_company_list[$yd_province]['province'] = $yd_province;
$yd_company_list[$yd_province]['province_price'] = $yd_province_price; for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$yd_company_name = $yd_sheet->getCell($zimu)->getValue(); if( isset($yd_company_name) ){
$yd_company_list[$yd_province]['company_name'][] = $yd_company_name;
} }
}elseif( $remainder == 0){ //价钱
for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$yd_company_price = $yd_sheet->getCell($zimu)->getValue(); if( isset($yd_company_price) ){
$yd_company_list[$yd_province]['company_price'][] = $yd_company_price;
} }
}elseif( $remainder == 1){ //几手资源
for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$yd_company_resources = $yd_sheet->getCell($zimu)->getValue(); if( isset($yd_company_resources) ){
$yd_company_list[$yd_province]['company_resources'][] = $yd_company_resources;
} } } } //联通数据
/*
$lt_sheet = $PHPExcel->getSheet(1);
$lt_highestRow = $lt_sheet->getHighestRow(); $lt_company_list = array();
$lt_company_name = $lt_company_price = $lt_company_resources =null;
$lt_province = $lt_province_price = '';
for($i=2;$i<$lt_highestRow;$i++){ //3列为一组
$remainder = $i % 3;
if( $remainder == 2){ //公司名称
$lt_province = $lt_sheet->getCell("A".$i)->getValue();//省市
$lt_province_price = $lt_sheet->getCell("B".$i)->getValue();//省市成本 $lt_company_list[$lt_province]['province'] = $lt_province;
$lt_company_list[$lt_province]['province_price'] = $lt_province_price; for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$lt_company_name = $lt_sheet->getCell($zimu)->getValue(); if( isset($lt_company_name) ){
$lt_company_list[$lt_province]['company_name'][] = $lt_company_name;
} }
}elseif( $remainder == 0){ //价钱
for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$lt_company_price = $lt_sheet->getCell($zimu)->getValue(); if( isset($lt_company_price) ){
$lt_company_list[$lt_province]['company_price'][] = $lt_company_price;
} }
}elseif( $remainder == 1){ //几手资源
for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$lt_company_resources = $lt_sheet->getCell($zimu)->getValue(); if( isset($lt_company_resources) ){
$lt_company_list[$lt_province]['company_resources'][] = $lt_company_resources;
} } } }
*/ //电信数据
/*
$dx_sheet = $PHPExcel->getSheet(2);
$dx_highestRow = $dx_sheet->getHighestRow(); $dx_company_list = array();
$dx_company_name = $dx_company_price = $dx_company_resources =null;
$dx_province = $dx_province_price = '';
for($i=2;$i<$dx_highestRow;$i++){ //3列为一组
$remainder = $i % 3;
if( $remainder == 2){ //公司名称
$dx_province = $dx_sheet->getCell("A".$i)->getValue();//省市
$dx_province_price = $dx_sheet->getCell("B".$i)->getValue();//省市成本 $dx_company_list[$dx_province]['province'] = $dx_province;
$dx_company_list[$dx_province]['province_price'] = $dx_province_price; for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$dx_company_name = $dx_sheet->getCell($zimu)->getValue(); if( isset($dx_company_name) ){
$dx_company_list[$dx_province]['company_name'][] = $dx_company_name;
} }
}elseif( $remainder == 0){ //价钱
for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$dx_company_price = $dx_sheet->getCell($zimu)->getValue(); if( isset($dx_company_price) ){
$dx_company_list[$dx_province]['company_price'][] = $dx_company_price;
} }
}elseif( $remainder == 1){ //几手资源
for($j=3;$j<26;$j++){
$zimu = $this->letter[$j].$i;
$dx_company_resources = $dx_sheet->getCell($zimu)->getValue(); if( isset($dx_company_resources) ){
$dx_company_list[$dx_province]['company_resources'][] = $dx_company_resources;
} } } }
*/ dump($yd_company_list); //获取到移动相应的数据 $company_list
//dump($company_list);
//dump($lt_company_list); } }
thinkphp中使用phpexecl多表格应用的更多相关文章
- thinkphp中的ajax分页
thinkphp中用ajax分页和普通的ajax分页的区别在于处理位置的不同,thinkphp是在控制器的方法中处理ajax传的值,然后返回数据.下面是一个点击事件触发后,显示的内容用ajax分页. ...
- thinkphp中如何使用phpspreadsheet插件
thinkphp中如何使用phpspreadsheet插件 一.总结 一句话总结:多百度,百度什么都有 1.thinkphp中用composer安装的插件的命名空间是什么? use PhpOffice ...
- TP框架---thinkphp中ajax分页
//点击类别后要显示的内容 public function pagechuli3()//这个方法的功能是根据ajax传过来的值查询数据,再将查询出来的数据返回到ajax,返回的默认是JSON类型. { ...
- [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别
1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...
- ThinkPHP中疑难笔记
不但要记住核心的东西, 还要记住 相关的 东西: 如php cli的版本是 5.6.14 bulit: sep 30, 2015 tp中, 通常说的系统就是框架; 项目就是 "应用程序&qu ...
- thinkphp中的setInc、setDec方法
thinkphp中setInc.setDec方法 可用于统计字段(通常是数字类型的字段)的更新,例如积分,等级,登陆次数等 必须配合连贯操作where一起使用 $User = M("User ...
- ThinkPHP中关于JS文件如何添加类似__PUBLIC__图片路径
在对html样式进行优化的时候,经常会用到Js/jquery进行一些跳转切换的样式,而我们常做的就是在Js/jquery代码中嵌url图片链接代码,以实现动态交互的页面效果. 如下图所示:
- ThinkPHP中initialize和construct的不同
ThinkPHP中initialize()和construct()这两个函数都可以理解为构造函数,前面一个是tp框架独有的,后面的是php构造函数,那么这两个有什么不同呢? 在网上搜索,很多答案是两者 ...
- thinkphp中F方法
我们已经了解了ThinkPHP中的S方法的用法,F方法其实是S方法的一个子集功能,仅用于简单数据缓存,并且只能支持文件形式,不支持缓存有效期,因为采用的是PHP返回方式,所以其效率较S方法较高,因此我 ...
随机推荐
- SCCM2012 R2实战系列之四:初始化配置
在之前的文章中,我们已经完成了SCCM 2012 R2 独立主站点的部署.为了客户端代理软件的顺利安装和OSD操作系统的分发,我们需要配置组策略及DHCP服务.在本系列的第四部分,跟大家一起分享下如何 ...
- 字符串格式化format使用
顺序传参 '{}....{}'.format(value1, value2) 索引传参 '{0}....{1}'.format(value1, value2) 关键字传参 '{k1}....{k2}' ...
- C#连接数据库最基本操作之sql语句 DML
C#连接数据库最基本操作之sql语句 DML //1 连接字符串 string connectionString = "server=127.0.0.1;integrated securit ...
- 安全测试4_客户端的安全漏洞(XSS、CSRF、点击劫持、URL跳转)
那个fanh前面学习的都是基础,现在开始正式学习下安全的知识,这一章主要讲解客户端常见的安全漏洞. 看到这个不错,给大家记一下: 1.常见的安全事件: 2.XSS(跨站脚本),英文全称:Cross S ...
- Microsoft Office Access数据库或项目包含一个对文件“dao360.dll”版本5.0.的丢失的或损坏的引用。
今天使用 office 2007 access 打开 2003 的数据库中的表时候,提示这个错误.经过搜索,发现是没有 dao360.dll 的问题. 在 https://cn.dll-files.c ...
- 我也说说Nginx——先搞搞清楚
一.Nginx的诞生 这个很多文章里都有,总之就是当年啊有个技术困难叫C10K问题,就是如何解决10万个客户端的并发请求问题.然后有个俄罗斯大牛某某某,在02年使用C语言搞了个东东声称可以处理每天5亿 ...
- 浏览器预览office文件(word,Excel,等)
提示:预览是通过后台转pdf到前台展示的过程,当然网上也有购买的api 举个栗子:(http://www.officeweb365.com/) <!DOCTYPE html> <ht ...
- 12.通过微信小程序端访问企查查(采集工商信息)
需要注意的问题: 一.1.微信端访问企查查小程序需要登录.2.访问抓包获取的url是有时效性的过一段时间就不能用了. http://xcx.qichacha.com/wxa/v1/base/getEn ...
- java中的排序--排序容器_TreeSet与TreeMap
1.TreeSet:数据元素可以排序且不可重复. 对比: (1)Set接口:HashSet,元素必须重写hashcode和equals方法. (2)TreeSet:只要可以排序即可.去重:比较等于0即 ...
- python学习笔记_week9
一.paramiko模块 SSHClient,用于连接远程服务器并执行基本命令 基于用户名密码连接: ssh执行命令:stdin,stdout,sterr:标准输入.输出.错误 import para ...