今天有一个朋友问了我一个PHP下载数据库表单并保存为Excel的功能问题。下面我就将代码贴出来,大家可以看下。<?php

public function exptable($name){

vendor("PHPExcel.PHPExcel");//如果这里提示类不存在,肯定是你文件夹名字不对。

$objPHPExcel = new \PHPExcel();//这里要注意‘\’ 要有这个。因为版本是3.1.2了。

$objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);//设置保存版本格式

//接下来就是写数据到表格里面去

$name = I('name');

$list =M($name)->select();

$sj=date("Y-m-d H:i:s");

$length = count($list[0]);//获取字段长度

$arr = [];//保存对应的字段名

foreach ($list[0] as $ziduan => $ziduan_v) {

$arr[] = $ziduan;

}

$A_num = 65;//对应的是A的二进制码

//输出对应的字段名

foreach ($arr as $ziduan_key=>$ziduan_value) {

//chr($A_num+$q)是获取单元格 $value[$arr[$q]] 是获取对应字段的值

$objPHPExcel->getActiveSheet()->setCellValue(chr($A_num+$ziduan_key).'1', $ziduan_value);//设置单元格内容

}

//输出所有的值

foreach ($list as $key => $value) {

$i=$key+2;//表格是从1开始的

for ($q = 0;$q < $length; $q++) {

//chr($A_num+$q)是获取单元格 $value[$arr[$q]] 是获取对应字段的值

$objPHPExcel->getActiveSheet()->setCellValue(chr($A_num+$q).$i, $value[$arr[$q]]);//设置单元格内容

}

}

//下载表格,在浏览器输出

header("Pragma: public");

ob_end_clean();//清除缓存以免乱码出现

header("Expires: 0");

header("Cache-Control:must-revalidate, post-check=0, pre-check=0");

header("Content-Type:application/force-download");

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

header("Content-Type:application/octet-stream");

header("Content-Type:application/download");;

header('Content-Disposition:attachment;filename='.$name.$sj.'.xls');

header("Content-Transfer-Encoding:binary");

$name = iconv('gb2312', 'utf-8', $name); $objWriter->save($name.'.xls');

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

$info_keys = M()->query("show columns from `{$name}`");

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

if($v['field']!='exportdate')

$table_keys[]=$v['field'];

}

$where[implode(" | ",$table_keys)] = array('like','%'.$name.'%');

M('export')->add(array("excel"=>$name,"exportdate"=>date("Y-m-d H:i:s"),"username"=>session('nickname')));

}

记得,如果碰到数据库表名带有中文的记得到加字符编码转换$name = iconv('gb2312', 'utf-8', $name);

_________________________________________________________________________________________________

♥网友可随意转载,但请保留作者源地址。

♥如果本文对你有一点的帮助,希望不要吝惜你的一点回报,点击【赏】或者分享来给本人鼓励和支持,并帮到更多的人。

♥如果喜欢本人的作品,可以留言,希望为大家奉献更多的优秀经验

转载声明:本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。

欢迎捐赠赞赏

phpexecl保存mysql_【PHP】将数据库表保存为Excel(PHPExcel)相关推荐

  1. 根据数据库表结构生成Excel表设计——源码设计说明

    根据数据库表结构生成Excel表设计 在系统运维的过程中,很多时候大家都不喜欢改文档,修改了数据库字段后很少同步再更新表设计文档的,这就导致系统运行一段时间后,系统表设计与实际生产跑业务的设计出入很大 ...

  2. 根据数据库表结构生成Excel表设计——工具介绍

    根据数据库表结构生成Excel表设计 最近又接手了一些老系统,库表设计啥的都没有,十来个系统,每个系统都几十张表,一个个的补感觉太难了,合计了一下感觉还是搞个工具比较好. 在系统运维的过程中,很多时候 ...

  3. php checkbox 保存,PHP中在数据库中保存Checkbox数据

    PHP中在数据库中保存Checkbox数据 /* if we passed in an array of the checkboxes we want to be displayed as check ...

  4. app把信息添加到mysql_如何将数据库表中的数据添加到ListView C#Xamarin Android App

    几天前我问过如何在活动之间共享数据,一个用户告诉我使用SQLite,所以我做了.我想让用户点击MainLayout中的按钮,它会将他重定向到AddTaskLayout,在那里他可以添加任务名称,按下S ...

  5. powerdesigner导出mysql数据库表结构到Excel

    前提 要做数据源的整理,需要将Mysql数据库表的结构导出到Excel表里面做文档记录; 第一个Sheet是所有表格的列表,其他的Sheet是每一个表格的详细字段以及注释说明. 打开PowerDesi ...

  6. Oracle数据库如何保存中文特殊字符到数据库表中,防止出现问号

    实现方式 1.保存特殊字符的数据库中表的字段类型应该设置成NVARCHAR类型 -- 数据库创建表语句 create table T_TICKET (id VARCHAR2(32) not null, ...

  7. python从数据库取数据保存为excel_python读取数据库表数据并写入excel

    #!/usr/bin/env python#-*- coding: utf-8 -*- '''@Time : 2020/1/1 18:08 @Author : Jason.Jia @contact: ...

  8. 秒杀设计 mysql_秒杀项目-数据库表设计

    -- 数据库初始化脚本 -- 创建数据库 CREATE DATABASE seckill; -- 使用数据库 use seckill; -- 创建秒杀库存表 CREATE TABLE seckill( ...

  9. php批量添加excel数据库表,php 把excel批量导入到数据库代码

    php 把excel批量导入到数据库代码 我们是利用了ExcelFileParser这个扩展来处理的哦, Excel数据获取演示 Excel数据获取演示 /** * CopyRight (c) 200 ...

最新文章

  1. 深层上下文化的单词表示
  2. android 模拟器
  3. Google服务器 IP
  4. Java中的24种设计模式与7大原则
  5. EncryptionHelper.cs(20170223)
  6. python使用pymysql连接mysql_python3使用PyMysql连接mysql数据库的简单示例
  7. python 实例 cadu_【示例详解】AutoCAD处理控件Aspose.CAD 8月新更!支持加载大型DWG文件...
  8. Lua 中的 function、closure、upvalue
  9. 19年PDYZ冬令营游记
  10. IDEA中安装TeaVM插件
  11. C++ stander library--type traits and type utility
  12. 国内IT界5大女神程序员,你知道几个
  13. 计算机网络:应用层 - 万维网 WWW、HTTP 协议以及 HTML 语言
  14. Android神器Xposed框架
  15. win10开始键没反应解决方法
  16. org.apache.ibatis.type.TypeException: The alias ‘XXXX‘ is already mapped to the value ‘XXXX‘ 问题解决
  17. # 英语四级 词根+例句
  18. Android Studio统一依赖管理Composing builds
  19. 关于ios::sync_with_stdio(false);和cin.tie(0);cout.tie(0);
  20. 函数式编程-Stream流(来源三更草堂)

热门文章

  1. Pytorch的backward()相关理解
  2. Git tag 打标签
  3. 用 Opencv 和 Python 模糊检测
  4. python 多维数组删除重复
  5. opencv读取字符串图像
  6. 机器学习基础(一)——人工神经网络与简单的感知器
  7. 使用Java泛型实现快速排序(快排,Quicksort)
  8. 头文件的包含以及命名空间的引入尽量写在cpp里
  9. 青龙面板薅羊毛–都爱玩(日收益2元左右)
  10. 华为计算产品备件查询助手