php导出csv_原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】

本文实例讲述了原生PHP实现导出csv格式Excel文件的方法。分享给大家供大家参考,具体如下:

效果图

d296ab42ec1d46370b63e12fc019d9f7.png

源码分析

index.php

require_once "./Export.php";

//测试数据

$headerList= ['列名1','列名2','列名3'];

$data = [

['值1','值2','值3'],

['值11','值22','值33'],

['值111','值222','值333']

];

$fileName = "测试导出文件名";

$tmp = ['备份字段1','备份值1','','备份字段2','备份值2'];

$export = new Export();

$result = $export->exportToCsv($headerList,$data,$fileName,$tmp);

Export.php

class export{

/**

* params $headerList 头部列表信息(一维数组) 必传

* params $data 导出的数据(二维数组) 必传

* params $filename 文件名称转码 必传

* params $tmp 备用信息(二维数组) 选传

* PS:出现数字格式化情况,可添加看不见的符号,使其正常,如:"\t"

**/

public function exportToCsv($headerList = [] , $data = [] , $fileName = '' , $tmp = []){

//文件名称转码

$fileName = iconv('UTF-8', 'GBK', $fileName);

//设置header头

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

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

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

//打开PHP文件句柄,php://output,表示直接输出到浏览器

$fp = fopen("php://output","a");

//备用信息

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

$tmp[$key] = iconv("UTF-8", 'GBK', $value);

}

//使用fputcsv将数据写入文件句柄

fputcsv($fp, $tmp);

//输出Excel列表名称信息

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

$headerList[$key] = iconv('UTF-8', 'GBK', $value);//CSV的EXCEL支持BGK编码,一定要转换,否则乱码

}

//使用fputcsv将数据写入文件句柄

fputcsv($fp, $headerList);

//计数器

$num = 0;

//每隔$limit行,刷新一下输出buffer,不要太大亦不要太小

$limit = 100000;

//逐行去除数据,不浪费内存

$count = count($data);

for($i = 0 ; $i < $count ; $i++){

$num++;

//刷新一下输出buffer,防止由于数据过多造成问题

if($limit == $num){

ob_flush();

flush();

$num = 0;

}

$row = $data[$i];

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

$row[$key] = iconv('UTF-8', 'GBK', $value);

}

fputcsv($fp, $row);

}

}

}

附:完整实例代码点击此处本站下载。

希望本文所述对大家PHP程序设计有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 颜色_如何使用python中matplotlib库分析图像颜色

用代码分析图像可能很困难。你如何使代码“理解”图像的上下文?通常&#xff0c;使用AI分析图像的第一步 是找到主要颜色。在如何使用python中matplotlib库分析图像颜色中&#xff0c;我们将使用matplotlib的 image类在图像中找到主色 。查找主导色也是你可以使用第三方API进行…

python自动登录校园网_免费自动登录国科大校园网python脚本

UCAS-Network-LoginA python program that helps you log in UCAS network for free. 免费自动登录国科大校园网声明&#xff1a;本软件不会收集你的任何信息&#xff0c;即使保存密码也都是保存在本地。软件编写思想是模拟浏览器填充用户名和加密后的密码&#xff0c;发送认证…

php的时间函数,PHP 常用时间函数

PHP语言中的函数有许多种&#xff0c;各种应用方式不同&#xff0c;实现的功能也不尽相同。我们在本文种为大家总结了PHP时间戳函数&#xff0c;希望能作为参考学习对象。一&#xff0c;PHP时间戳函数获取指定日期的unix时间戳 strtotime(”2009-1-22″) 示例如下&#xff1a;e…

python画彩虹爱心_用python画一颗彩虹色爱心送给女朋友!!!

1.准备工作&#xff1a;代码中用到numpy和matplotlib&#xff0c;需要先安装这两个库pip3 install numpypip3 install matplotlib会用到的数学公式&#xff1a;(x^2y^2-1)^3x^2*y^302.编写代码&#xff1a;importnumpy asnpimportmatplotlib.pyplot aspltx_coords np.linspace…

智能解析php源码,PHP源码:XyPlayer在线影视v3.8二次智能解析源码

版本更新&#xff1a;注意&#xff1a; 升级完成后请务必清空缓存,包括浏览器缓存和视频缓存;2019.3.24更新* 修复v.php调用失败的bug;* 优化播放调用&#xff0c;修复若干bug;* 异常处理优化&#xff0c;使用fundebug插件收集异常信息;* 播放器优化,发生异常会调用H5播放器解决…

cnn 准确率无法提升_清华类脑芯片再登Nature: 全球首款基于忆阻器的CNN存算一体芯片...

传统计算架构中计算与存储在不同电路单元中完成&#xff0c;造成大量数据搬运功耗增加和额外延迟&#xff0c;被认为是冯诺依曼计算架构的核心瓶颈。人类的大脑却并非如此&#xff0c;而是直接在记忆体里计算。被认为具有「存算一体」潜力的忆阻器&#xff0c;因而成为类脑计算…

php artisan 计划任务,Laravel 定时任务 任务调度 可手动执行

1、创建一个命令php artisan make:command TestCommand执行成功后会提示&#xff1a;Console command created successfully.生成了一个新的命令文件App\Console\Commands\TestCommand.phpuse Illuminate\Console\Command;classTestCommand extends Command{/*** The name and …

python中定义变量为啥要用下划线_关于python中带下划线的变量和函数 的意义

核心风格&#xff1a;避免用下划线作为变量名的开始。因为下划线对解释器有特殊的意义&#xff0c;而且是内建标识符所使用的符号&#xff0c;我们建议程序员避免用下划线作为变量名的开始。一般来讲&#xff0c;变量名_xxx被看作是“私有 的”&#xff0c;在模块或类外不可以使…

php加密码访问,怎么给一个PHP密码访问页面加超链接

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼$password "1234"; // 这里是密码$p "";if(isset($_COOKIE["isview"]) and $_COOKIE["isview"] $password){$isview true;}else{if(isset($_POST["pwd"])){if($_POST["…

pythonsearch结果_python 查询Elasticsearch的小例子

#!/usr/bin/env python# -*- coding: utf-8 -*-from sfo_common.agent import Agentfrom sfo_common.import_common import *class ElkLog(object):"""处理ELK数据类"""def __init__(self):passdef get_elk_log_json(self):"""通…

matlab程序svm四等级分类,支持向量机(SVM)多分类matlab程序代码

%模型训练及数据整理model_12svmtrain(class_12_label,class_12_value);model_13svmtrain(class_13_label,class_13_value);model_14svmtrain(class_14_label,class_14_value);model_23svmtrain(class_23_label,class_23_value);model_24svmtrain(class_24_label,class_24_valu…

python requests form data_python使用requests发送multipart/form-data请求数据

def client_post_mutipart_formdata_requests(request_url,requestdict):#功能说明&#xff1a;发送以多部分表单数据格式(它要求post的消息体分多个部分(fields)发送&#xff0c;每个fields之间用自定义的且唯一的随机字符串boundary进行分割。)请求到远程服务器&#xff0c;并…

oracle 几个字段中某个字段大于0其他字段不再进行统计?_如何深入理解MySQL 8.0直方图?...

MySQL8.0 新功能直方图&#xff0c;继承于Oracle &#xff0c;MairaDB的实现方式。 那下面从mysql角度认识下&#xff0c;直方图是什么。先看下官方直方图的实现方式。 从上图上可以看到原来是ANALYZE命令。先了解一下MySQL里 ANALYZE命令到底有什么用。ANALYZE在MySQL里提交一…

Apache java文件比对,Java Apache Commons的字符串比较

1&#xff64;使用Apache Commons的equals()实现字符串比较StringUtils类的equals()方法是String类方法equals()的增强版&#xff0c;它会处理null值:assertThat(StringUtils.equals(null, null)).isTrue();assertThat(StringUtils.equals(null, "equals method")).i…

godaddy修改php版本,Godaddy美国主机Plesk面板修改PHP版本教程

由于不同的需求&#xff0c;我们站长朋友们建站所用的网站程序也不尽相同&#xff0c;有PHP、ASP和ASP.NET等。Godaddy美国主机作为全球最大域名主机商&#xff0c;当之无愧成为站长使用最多的主机。不少朋友应该都知道不同的网站程序对于PHP和ASP的版本要求又不一样&#xff0…

mysql数据结构_mysql的底层数据结构

一&#xff0e;数据结构1. 二叉树特点&#xff1a;左侧子节点比父节点小&#xff0c;右侧子节点比父节点大(对于同一个父节点下的两个子节点)缺点&#xff1a;对于一直递增得数据不能存在该数据结构中&#xff0c;会变成链表&#xff0c;不能降低树的高度图 1-1图1-22. 红黑树特…

python 隐含波动率_【BSM模型】用实际市场数据计算隐含波动率并验证波动率微笑...

在Black-Scholes期权定价模型中&#xff0c;不能直接观察到的参数只有股票价格的波动率。波动率可以由历史数据进行估计&#xff0c;这是历史波动率。隐含波动率也是交易员非常关心的&#xff0c;隐含波动率是期权的市场价格中所包含的波动率&#xff0c;即由期权价格和期权定价…

php获得指定目录文件,PHP遍历指定文件夹获取路径及大小(包含子文件夹)

PHP获取指定文件夹下(包含子文件夹)所有文件路径 及 大小代码如下&#xff1a;// 获取指定文件夹 所有文件及大小 (包含子文件夹) By 【简爱】function JA_files2arr($dirpath){if($dirpath[strlen($dirpath)-1]!"/"){$dirpath."/";} //static $result_arr…

winform判断线程有没有完成_并发编程系列1:线程池的架构实现、大小配置、及四种线程池使用...

△ 公众号回复关键词“架构” 即可领取《1500BAT架构及面试专题合集》本篇为线程池系列文章之一&#xff0c;不经常使用线程池的童鞋&#xff0c;还有对几种线程的使用不甚了解的童鞋&#xff0c;可以读一下此文&#xff0c;并关注后续线程池相关文章连载。 本篇内容大纲&#…