phpexecl保存mysql_【PHP】将数据库表保存为Excel(PHPExcel)
今天有一个朋友问了我一个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)相关推荐
- 根据数据库表结构生成Excel表设计——源码设计说明
根据数据库表结构生成Excel表设计 在系统运维的过程中,很多时候大家都不喜欢改文档,修改了数据库字段后很少同步再更新表设计文档的,这就导致系统运行一段时间后,系统表设计与实际生产跑业务的设计出入很大 ...
- 根据数据库表结构生成Excel表设计——工具介绍
根据数据库表结构生成Excel表设计 最近又接手了一些老系统,库表设计啥的都没有,十来个系统,每个系统都几十张表,一个个的补感觉太难了,合计了一下感觉还是搞个工具比较好. 在系统运维的过程中,很多时候 ...
- php checkbox 保存,PHP中在数据库中保存Checkbox数据
PHP中在数据库中保存Checkbox数据 /* if we passed in an array of the checkboxes we want to be displayed as check ...
- app把信息添加到mysql_如何将数据库表中的数据添加到ListView C#Xamarin Android App
几天前我问过如何在活动之间共享数据,一个用户告诉我使用SQLite,所以我做了.我想让用户点击MainLayout中的按钮,它会将他重定向到AddTaskLayout,在那里他可以添加任务名称,按下S ...
- powerdesigner导出mysql数据库表结构到Excel
前提 要做数据源的整理,需要将Mysql数据库表的结构导出到Excel表里面做文档记录; 第一个Sheet是所有表格的列表,其他的Sheet是每一个表格的详细字段以及注释说明. 打开PowerDesi ...
- Oracle数据库如何保存中文特殊字符到数据库表中,防止出现问号
实现方式 1.保存特殊字符的数据库中表的字段类型应该设置成NVARCHAR类型 -- 数据库创建表语句 create table T_TICKET (id VARCHAR2(32) not null, ...
- python从数据库取数据保存为excel_python读取数据库表数据并写入excel
#!/usr/bin/env python#-*- coding: utf-8 -*- '''@Time : 2020/1/1 18:08 @Author : Jason.Jia @contact: ...
- 秒杀设计 mysql_秒杀项目-数据库表设计
-- 数据库初始化脚本 -- 创建数据库 CREATE DATABASE seckill; -- 使用数据库 use seckill; -- 创建秒杀库存表 CREATE TABLE seckill( ...
- php批量添加excel数据库表,php 把excel批量导入到数据库代码
php 把excel批量导入到数据库代码 我们是利用了ExcelFileParser这个扩展来处理的哦, Excel数据获取演示 Excel数据获取演示 /** * CopyRight (c) 200 ...
最新文章
- 深层上下文化的单词表示
- android 模拟器
- Google服务器 IP
- Java中的24种设计模式与7大原则
- EncryptionHelper.cs(20170223)
- python使用pymysql连接mysql_python3使用PyMysql连接mysql数据库的简单示例
- python 实例 cadu_【示例详解】AutoCAD处理控件Aspose.CAD 8月新更!支持加载大型DWG文件...
- Lua 中的 function、closure、upvalue
- 19年PDYZ冬令营游记
- IDEA中安装TeaVM插件
- C++ stander library--type traits and type utility
- 国内IT界5大女神程序员,你知道几个
- 计算机网络:应用层 - 万维网 WWW、HTTP 协议以及 HTML 语言
- Android神器Xposed框架
- win10开始键没反应解决方法
- org.apache.ibatis.type.TypeException: The alias ‘XXXX‘ is already mapped to the value ‘XXXX‘ 问题解决
- # 英语四级 词根+例句
- Android Studio统一依赖管理Composing builds
- 关于ios::sync_with_stdio(false);和cin.tie(0);cout.tie(0);
- 函数式编程-Stream流(来源三更草堂)