php 操作 excel,php excel操作

PHPExcel文件:PHPExcel

git下载地址:             https://github.com/PHPOffice/PHPExcel

//导入

public function inserExcel()

{

if(request() -> isPost())

{

Loader::import('PHPExcel.Classes.PHPExcel');

Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');

Loader::import('PHPExcel.Classes.PHPExcel.Reader.Excel5');

//获取表单上传文件

$file = request()->file('excel');

$info = $file->validate(['ext' => 'xlsx'])->move(ROOT_PATH . 'public');  //上传验证后缀名,以及上传之后移动的地址  E:\wamp\www\bick\public

if($info)

{

//echo $info->getFilename();

$exclePath = $info->getSaveName();  //获取文件名

$file_name = ROOT_PATH . 'public' . DS . $exclePath;//上传文件的地址

$objReader =\PHPExcel_IOFactory::createReader('Excel2007');

$obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8');  //加载文件内容,编码utf-8

echo "<pre>";

$excel_array=$obj_PHPExcel->getsheet(0)->toArray();   //转换为数组格式

array_shift($excel_array);  //删除第一个数组(标题);

$city = [];

foreach($excel_array as $k=>$v) {

$city[$k]['name'] = $v[0];

$city[$k]['number'] = $v[1];

}

dump($city);

}else

{

echo $file->getError();

}

}else

{

return $this -> fetch();

}

}

效果如图:

7946650b62a4fce7058280ecf6d69c5b.png

5af7011f2588a748f20ac622d0cc45e3.png

//导出

function excel()

{

$path = dirname(__FILE__);//找到当前脚本所在路径

Loader::import('PHPExcel.Classes.PHPExcel');//手动引入PHPExcel.php

Loader::import('PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory');//引入IOFactory.php 文件里面的PHPExcel_IOFactory这个类

$PHPExcel = new \PHPExcel();//实例化

$PHPSheet = $PHPExcel->getActiveSheet();

$PHPSheet->setTitle(“demo”);//给当前活动sheet设置名称

$PHPSheet->setCellValue(“A1″,”姓名”)->setCellValue(“B1″,”分数”);//表格数据

$PHPSheet->setCellValue(“A2″,”张三”)->setCellValue(“B2″,”2121″);//表格数据

$PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel,”Excel2007”);//创建生成的格式

header(‘Content-Disposition: attachment;filename=”表单数据.xlsx”‘);//下载下来的表格名

header(‘Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’);

$PHPWriter->save(“php://output”);//表示在$path路径下面生成demo.xlsx文件

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值