1:首先用composer require phpoffice/phpexcel

2: 引入相关的类:

use PHPExcel;

use PHPExcel_Cell;

use PHPExcel_Writer_Excel5;

3:下载具体代码

public function exportExcel()

{

$dataArr = Admin::all();

//创建PHPExcel对象

$obj = new PHPExcel();

//创建excel写入对象

$writer = new PHPExcel_Writer_Excel5($obj);

//得到当前工作表对象

$curSheet = $obj->getActiveSheet(0);

foreach ($dataArr as $row => $admObj) { //row 是行,注意从0开始,外循环是行,

$col = 0;

foreach ($admObj->getData() as $field => $value) {

// echo $row ."<=>".$col." , ".$field."=>".$value.'

';

// die();

if ($row == 0) {

// $num 控制的是行,$col控制的是列

//第一行

$cellName = PHPExcel_Cell::stringFromColumnIndex($col) . ($row + 1);//取单元格

$curSheet->setCellValue($cellName, $field);//给单元格赋值

//第二行

$cellName = PHPExcel_Cell::stringFromColumnIndex($col) . ($row + 2);

$curSheet->setCellValue($cellName, $value);

} else {

$cellName = PHPExcel_Cell::stringFromColumnIndex($col) . ($row + 2);

$curSheet->setCellValue($cellName, $value);

}

$col++;

}

}

$fileName = date('YmdHis', time());

header('Content-Type: application/vnd.ms-execl');

header('Content-Disposition: attachment;filename="' . $fileName . '.xls"');

header('Cache-Control: max-age=0');

$writer->save('php://output');

}

4:上传具体代码:

/**

* EXCEL 文件上传并导入数据库

* @throws \PHPExcel_Exception

*/

public function doUpload()

{

$file = request()->file('excel');//接收上传的文件

// 定义文件上传的目录(文件夹)

$uploadDir = '/home/project/kona/think51/public/upload/excel/';

//将文件上传到目标文件夹

$info = $file->move($uploadDir);

if ($info) {//文件上传成功

// 获取上传文件的路径(包括文件夹和文件名)

$fileName = $uploadDir.$info->getSaveName();

//将文件放入PHPEXcel的读取器中

$phpExcelObj = \PHPExcel_IOFactory::load($fileName);

//读取PHPEXcel的sheet[0]的数据,并转换为数组

$sheet = $phpExcelObj->getSheet(0)->toArray();

//移出数组的第一个元素(在此处数组),并赋值给fields,sheet中不在包含表头行了

$fields = array_shift($sheet);

foreach ($sheet as $row => $ary) {//遍历

//将表头和内容合并成一个数组

$newarr = array_combine($fields, $ary);

unset($newarr['id']);//ID不能插入,删除key为ID的元素

//$newarr['pwd'] = md5($newarr['pwd']);

$admin = new Admin();

$res=$admin->save($newarr);

if(empty($res)) {

$this->success("数据上传失败", "index");

}

}

$this->success("上传成功并插入数据库", "index");

} else {

$this->error($file->getError(), "index");

}

}

php上传下载excel,PHPExcel 上传下载的示例代码相关推荐

  1. php 上传 读取 excel,php上传excel表格并获取数据

    这个是最近需要做的一个功能,在网上也查看了很多相关的文章,基本上大同小异,在这里整理一下. 一:首先是html部分 二:就是去接收和处理上传的文件了.php部分 //文件存放的路径 $save_pat ...

  2. vue下载excel直接上代码

    1.使用vue的el-button标签定义一个点击事件 <el-form-item> <el-button size="small" type="tex ...

  3. php手机端下载excel,PHPExcel:在客户端下载Excel文件

    问题已解决:对于可能存在此问题的其他用户 – 请注意PHP文件的编码.如果您使用PHPExcel,它必须是ANSII编码而不是UTF8,否则将彻底下载EXCEL.添加的标题(答案1)在我更改了文件本身 ...

  4. JDY-40无线模块的使用(透传、参数设置) 附Arduino 简单示例代码

    目录 1.如何与单片机(串口模块)连接? 2.如何在USB转串口模块调试? 3.如何用Arduino 对JDY-40设置参数(其他单片机也可参考,需要自己写代码)? 4.两个模块之间如何通信(透传)? ...

  5. linux中代码挂上n,Linux系统常用命令nl详解(示例代码)

    nl命令在linux系统中用来计算文件中行号.nl可以将输出的文件内容自动的加上行号!其默认的结果与cat -n有点不太一样,nl可以将行号做比较多的显示设计,包括位数与是否自动补齐0等等的功能.本文 ...

  6. java 点击a标签下载文档_使用a标签进行下载excel文件,打开下载后的文件内容为空,这是为什么?...

    前端代码:下载 后端代码: 接口:@ApiOperation(value = "下载") @GetMapping("/down") public void do ...

  7. easyexcel 检查表头是否匹配_Java EasyExcel读取Excel表头数据的方法及示例代码

    1、读取表头数据代码/** * 读取表头数据 * * * 1. 创建excel对应的实体对象 参照{@link DemoData} * * 2. 由于默认异步读取excel,所以需要创建excel一行 ...

  8. excel npoi 连接_Net操作Excel_NPOI(示例代码)

    Npoi 简介 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet:行:Row:单元格Cell. 4.忘了告诉大家npoi是做什么的了,npoi 能够读写几 ...

  9. 『.NET』C#/.NET 下载图片并保存到本地的示例代码

最新文章

  1. JSON序列化和反序列化还有这种玩法
  2. POJ1321 棋盘问题(DFS)
  3. C语言 编写程序:请将Fibonacci数列前30项中的偶数值找出来,存储到一维数组中。其中,Fibonacci数列如下:1,1,2,3,5,8,13,21,34...该数列除前两项之外,其他任意
  4. 显示多文档标签_HTML常用基础标签,前端从入门到精通
  5. (转)微服务_创建一个简单的Eureka注册中心
  6. 工作流实战_28_flowable 任务多实例
  7. 【Qt开发】Qt标准对话框之QMessageBox
  8. Android ProgressBar手动控制开始和停止
  9. sop4封装尺寸图_「光电封装」 有源光器件的结构和封装
  10. java查看当前活动的线程数量
  11. rails获取json内容
  12. matlab 韦达公式,三次方程的根式求解(通俗版本)
  13. java串口rxtx_Java串口操作RXTX
  14. 三角函数和复指数函数的转化_【导数压轴】当三角函数遇到导数02
  15. 林业与计算机结合的sci期刊,sci收录的林业期刊有哪些
  16. Linux安装软件提示MD5不同,如何在Debian/Ubuntu Linux中校验已安装软件包的MD5和?
  17. 谷歌:新人工智能(AI)算法预测人类死亡时间,意念可指挥机器人
  18. 智慧社区的现状分析及发展前景
  19. 他忽悠了马云 10 个亿,10 年后还给马云 4500 亿
  20. 计算机考试题库access,计算机二级access真题题库试题精选(附答案)-20210623194307.docx-原创力文档...

热门文章

  1. 初识Python正则表达式(9课连发)
  2. Python使用AES算法进行加解密
  3. uml类图例子_五分钟带你读懂UML类图
  4. 小程序升级服务器内存需要注意什么,小程序服务器内存需要多大
  5. python机器视觉教材_基于Python的机器视觉实验教学平台设计
  6. 数据库系统工程师5天修炼_程序员逆袭之路,5年IT人生从电脑装机到技术大神,人生不认输...
  7. 牛津词典电子版txt_英语启蒙:推荐一款超火的英文词典app
  8. java 文件追加文本_Java追加文件内容的三种方法
  9. 从下列选项中选择正确的java表达式,java笔试常见的选择题
  10. 红帽子服务器怎么重装系统,红帽子RHCS套件安装与配置