PHP导出数据到CSV文件函数/方法
如果不清楚什么是CSV文件,可看如下文章介绍 CSV格式的是什么文件?CSV是什么的缩写?
/**
* 导出数据到CSV文件
* @param array $data 数据
* @param array $title_arr 标题
* @param string $file_name CSV文件名
*/
function export_csv(&$data, $title_arr, $file_name = '') {
ini_set("max_execution_time", "3600"); $csv_data = ''; /** 标题 */
$nums = count($title_arr);
for ($i = 0; $i < $nums - 1; ++$i) {
$csv_data .= '"' . $title_arr[$i] . '",';
} if ($nums > 0) {
$csv_data .= '"' . $title_arr[$nums - 1] . ""
";
} foreach ($data as $k => $row) {
for ($i = 0; $i < $nums - 1; ++$i) {
$row[$i] = str_replace(""", """", $row[$i]);
$csv_data .= '"' . $row[$i] . '",';
}
$csv_data .= '"' . $row[$nums - 1] . ""
";
unset($data[$k]);
} $csv_data = mb_convert_encoding($csv_data, "cp936", "UTF-8"); $file_name = empty($file_name) ? date('Y-m-d-H-i-s', time()) : $file_name; if (strpos($_SERVER['HTTP_USER_AGENT'], "MSIE")) { // 解决IE浏览器输出中文名乱码的bug
$file_name = urlencode($file_name);
$file_name = str_replace('+', '%20', $file_name);
} $file_name = $file_name . '.csv';
header("Content-type:text/csv;");
header("Content-Disposition:attachment;filename=" . $file_name);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo $csv_data;
}
应用举例:
$header = array(
'0' => '参数ID',
'1' => '参数名称',
'2' => '统计次数',
'3' => '统计次数百分比',
'4' => '唯一用户数',
'5' => '唯一用户数百分比',
'6' => '人均次数'
); /** 列表项 */
foreach ($list as $key => $row){
$csvList[] = array(
'0' => $row['param_key'],
'1' => $row['param_name'],
'2' => $row['nums'],
'3' => $row['percent_nums'] . '%',
'4' => $row['total_users'],
'5' => $row['percent_total_users'] .'%',
'6' => $row['avg']
);
} /** 导出csv */
$title = str_replace(' ','-', $title);
export_csv($csvList, $header, $title);
PHP导出数据到CSV文件函数/方法的更多相关文章
- PHP导出数据到CSV文件函数 csv_export()
后台往往需要导出各种数据到 Excel文档中.通常我们是导出 .csv文件格式,PHP导出函数参考代码如下: /** * 导出数据到CSV文件 * * @param array $data 二维数组( ...
- PHP导出数据到CSV文件
后台往往需要导出各种数据到 Excel文档中.通常我们是导出 .csv文件格式,PHP导出函数参考代码如下: /** * 导出数据到CSV文件 * * @param array $data 二维数组( ...
- mysql导出数据到csv文件
在日常工作中经常会遇见导出表中的数据到csv文件的操作,这里就简单总结一下导出的操作. 下面对csv文件的描述是摘录: 据RFC4180文档设置的,该文档全称Common Format and MIM ...
- mysql 导出数据到csv文件的命令
1.导出本地数据库数据到本地文件 mysql -A service_db -h your_host -utest -ptest mysql> select * from t_apps where ...
- 从数据库中导出数据到.csv文件
考虑到csv文件比xls文件格式容易控制,所以在这次导出中用的是.csv格式. protected function exportInfo($arr, &$err){ $nameInfo = ...
- Oracle SQLPlus导出数据到csv文件
时不时地我们需要导出一些数据用作备份.查看报表等,如果用Sql Developer导出会非常慢.而用SqlPlus,则速度非常快. 准备SQL执行文件export.sql: set colsep , ...
- SQL SERVER利用BCP命令在命令行下导出数据到csv文件中
bcp "select * from (DBNAME).dbo.qt_trace where User_1 is not null" queryout c:\%date:~6,4% ...
- php导出数据为CSV文件DEMO
代码示例: private function _download_send_headers($filename) { // disable caching $now = gmdate("D, ...
- C语言对文件的读写操作以及处理CSV文件的方法
#include <stdio.h> #define F_PATH "d:\myfile\file.txt" int main(void) { FILE *fp = N ...
随机推荐
- <实训|第四天>Linux下的vim你真的掌握了吗?附上ftp远程命令上传。
期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...
- mysql查询所有表行数
SELECT table_name, table_rows FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'DATABASE_NAME' ;
- IE firefox 兼容性整理
1.尽量用jquery操作. 2.jquery取值时要用准确的方法,attr(), val(), text(), html(). 例如: <span value="a"> ...
- this,this,再次讨论javascript中的this,超全面
至于js中this这个东西,好多淫解释过了,看起来好高端的样子,不造你看懂了木有? 先引用比较高端的,“汤姆大叔“ 的,yes this 好了,下面加上鄙人比较挫的解释 论点: this 不是变量,不 ...
- 免费的SSL证书,免费为微信小程序搭建https
StartSSL 也免费提供了一个证书(纯英文) 申请地址:https://www.startssl.com/Account?r=L1ZhbGlkYXRl 阿里云免费提供的证书 https://com ...
- Bootstrap3.0学习第十二轮(导航、标签、面包屑导航)
详情请查看http://aehyok.com/Blog/Detail/18.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...
- SQL删除重复的记录(只保留一条)
首先新建表: --创建示例表 CREATE TABLE t ( id ,) PRIMARY KEY, a ), b ) ) --插入数据 INSERT INTO t SELECT 'aa','bb' ...
- Html巩固
1.html元素都支持全局属性(通用的属性)和事件属性. a标签:定义一个超文本链接,链接到另一个超文本文件的! button:定义一个点击按钮,按钮是出发当前页面的事件.
- ORACLE建表练习
1,学生表 -- Create table create table T_HQ_XS ( xueh ) not null, xingm ) not null, xingb ) ', nianl NUM ...
- Ajax实现联动效果
用到了地区的数据库 html代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="s ...