【PHP】Excel表格导入导出
来源:互联网 发布:天龙八部好看发色数据 编辑:程序博客网 时间:2024/04/28 10:53
在我们的管理系统开发中经常需要使用到表格导入导出的功能,今天我们就使用phpexcel这个类库来实现我们需要的表格导入导出功能
什么是PHPExcel?
是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格
本案例是在YII2.0框架中来使用phpexcel
首先我们需要将Classes目录下的文件拷贝到我们YII框架根目录下新建一个文件夹excel里
准备工作完成之后进入令人激动的开发阶段(灰常简单的~)
我们先来做导出
require dirname(dirname(__FILE__)).'/excel/PHPExcel.php';class AController extends \yii\web\Controller{ public function actionOutput() { $this->layout = "layout1";//指定模板 $objPHPExcel = new \PHPExcel(); // 实例化PHPExcel类, 等同于在桌面上新建一个excel,这里需要前置加反斜扛 for ($i = 1; $i <= 3; $i ++) {//这里需要创建多少个sheet就让i小于多少 if ($i > 1) { $objPHPExcel->createSheet(); // 创建新的内置表 } $objPHPExcel->setActiveSheetIndex($i - 1); // 把新创建的sheet设定为当前活动sheet $objSheet = $objPHPExcel->getActiveSheet(); // 获取当前活动sheet $objSheet->setTitle($i . "sheet".$i); // 给当前活动sheet起个名称 $model = Company::find(); $count = $model->count(); $pageSize = Yii::$app->params['pageSize']['order']; $pager = new Pagination([ 'totalCount' => $count, 'pageSize' => $pageSize ]); $data = $model->offset($pager->offset) ->limit($pager->limit) ->all(); // 查询所有公司的信息 $objSheet->setCellValue("A1", "id") ->setCellValue("B1", "电话"); //表头内容 $j = 2; foreach ($data as $key => $val) { $objSheet->setCellValue("A" . $j, $val['companyid']) ->setCellValue("B" . $j, $val['phone']);// 填充数据 $j ++; } } $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); // 生成excel文件 // $objWriter->save($dir."/export_1.xls");//保存文件 header('Content-Type: application/vnd.ms-excel'); // 告诉浏览器将要输出excel03文件 header('Content-Disposition: attachment;filename="' . 'browser_excel03.xls' . '"'); // 告诉浏览器将输出文件的名称 header('Cache-Control: max-age=0'); // 禁止缓存 $objWriter->save("php://output");//输出 return $this->render('list', ['pager' => $pager, 'orders' => $data]); }}
require dirname(dirname(__FILE__)).'/excel/PHPExcel.php';class AController extends \yii\web\Controller{ public function actionInput() { $dir = dirname(__FILE__); // 找到当前脚本所在路径 $filename = $_FILES['excel']['tmp_name']; $fileType = \PHPExcel_IOFactory::identify($filename); // 自动获取文件的类型提供给phpexcel用 $objReader = \PHPExcel_IOFactory::createReader($fileType); // 获取文件读取操作对象 // $objReader->setLoadSheetsOnly($sheetName);//只加载指定的sheet $objPHPExcel = $objReader->load($filename); // 加载文件 foreach ($objPHPExcel->getWorksheetIterator() as $sheet) { // 循环取sheet foreach ($sheet->getRowIterator() as $row) { // 逐行处理 if ($row->getRowIndex() < 2) { continue; } $i = 0; $arr = array(); foreach ($row->getCellIterator() as $cell) { // 逐列读取 $data = $cell->getValue(); // 获取单元格数据 $arr[$i] = $data; $i++; } if($arr[0] == '' && $arr[1] == ''){ return $this->render('index');//读到空的单元格停止读取动作 } var_dump($arr);//打印出读到的数据 //保存到数据库 $sql = "insert into company values (null,'$arr[1]')"; Yii::$app->db->createCommand($sql)->execute(); Yii::$app->session->setFlash('info', '已成功导入数据'); } return $this->render('index'); } }}
0 0
- php导入导出excel表格
- 【PHP】Excel表格导入导出
- php导出excel表格
- php导出excel表格
- php导出excel表格
- php导出excel表格
- php导出excel表格
- php导出EXCEL表格
- php导出EXCEL表格
- php导出excel表格
- php导出excel表格
- 导出excel表格,导入excel表格
- php excel 表格导入
- phpexcel php导入导出excel表格的简单方法
- PHP excel表格与mysql的导入导出
- laravel框架实现excel表格数据导入导出-php
- Java导入导出Excel表格
- Java导入导出Excel表格
- 一幅图解决R语言绘制图例的各种问题
- 如何给非AppCompatActivity添加Toolbar
- [机器学习]KNN算法的理解与具体实现
- CVAVR编程环境开发时问题
- Json中key的搜索
- 【PHP】Excel表格导入导出
- Spring之装配bean的方式
- C语言,数组
- UVA10599:Robots(II)(最长上升子序列)
- Spring(AbstractRoutingDataSource)实现动态数据源切换
- iOS开发 GET、POST请求方法:NSURLSession篇
- RecyclerView彩虹瀑布流实现
- mysql 递归函数写法
- 51nod-1099 任务执行顺序