php array数组生成csv文件

 代码如下 复制代码

<?php
$data = array(
        array( 'row_1_col_1', 'row_1_col_2', 'row_1_col_3' ),
        array( 'row_2_col_1', 'row_2_col_2', 'row_2_col_3' ),
        array( 'row_3_col_1', 'row_3_col_2', 'row_3_col_3' ),
    );
$filename = "example";
 
    header("Content-type: text/csv");
    header("Content-Disposition: attachment; filename={$filename}.csv");
    header("Pragma: no-cache");
    header("Expires: 0");
 
outputCSV($data);
 
function outputCSV($data) {
        $outputBuffer = fopen("php://output", 'w');
        foreach($data as $val) {
        foreach ($val as $key => $val2) {
         $val[$key] = iconv('utf-8', 'gbk', $val2);// CSV的Excel支持GBK编码,一定要转换,否则乱码
         }
            fputcsv($outputBuffer, $val);
        }
        fclose($outputBuffer);
    }
 
?>

例2

看一个读取csv文件的实例

读取cvs,使用fgetcsv()文件指针中读入一行并解析 CSV 字段

 比如说我要读取如下csv文件

 代码如下 复制代码

<?php
/** by www.111cn.net */
$row = 1;
$handle = fopen("file.csv","r");
//fgetcsv() 解析读入的行并找出 CSV格式的字段然后返回一个包含这些字段的数组。
while ($data = fgetcsv($handle, 1000, ",")) {
    $num = count($data);
    echo "<p> $num fields in line $row: <br>n";
    $row++;
    for ($c=0; $c < $num; $c++) {
  //注意中文乱码问题
  $data[$c]=iconv("gbk", "utf-8//IGNORE",$data[$c]); 
        echo $data[$c] . "<br>n";
    }
}
fclose($handle);
?>

时间: 2024-11-13 06:37:59

php array数组生成csv文件的相关文章

解决php array数组生成xml文件汉字编码问题

在 php 数组转xml我们在php中学会这样来写  代码如下 复制代码 function array2xml($array, $xml = false){     if($xml === false){         $xml = new SimpleXMLElement('<root/>');     }     foreach($array as $key => $value){         if(is_array($value)){             array2xm

php生成csv文件并下载及问题总结

例子,生成csv文件并下载 //要生成csv文件的数组 $csvArr=array(); $csvArr[]=array('用户编号1','上班日期1','签到时间1','签退时间1'); $csvArr[]=array('用户编号2','上班日期2','签到时间2','签退时间2') download_send_headers("data_export_" . date("Y-m-d") . ".csv"); $head=array('用户编号

利用PHP生成CSV文件简单示例_php实例

前言 csv 文件其实和excel文件一样,都是表格类型.但PHP生成csv要比生成excel文件要简单的多,生成csv文件其实就是把以 , 号为分割符的字符串存成 .csv为扩展名的文件. 因为逻辑不难,具体请看下面的代码和注释. <?php /** * Created by PhpStorm. * User: chenyanphp@qq.com * Date: 2016/12/21 0021 * Time: 下午 12:08 */ // 头部标题 $csv_header = ['名称','性

利用PHP生成CSV文件简单示例

前言 csv 文件其实和excel文件一样,都是表格类型.但PHP生成csv要比生成excel文件要简单的多,生成csv文件其实就是把以 , 号为分割符的字符串存成 .csv为扩展名的文件. 因为逻辑不难,具体请看下面的代码和注释. <?php /** * Created by PhpStorm. * User: chenyanphp@qq.com * Date: 2016/12/21 0021 * Time: 下午 12:08 */ // 头部标题 $csv_header = ['名称','性

在Python的Django框架中用流响应生成CSV文件的教程

  这篇文章主要介绍了在Python的Django框架中用流响应生成CSV文件的教程,作者特别讲到了防止CSV文件中的中文避免出现乱码等问题,需要的朋友可以参考下 在Django里,流式响应StreamingHttpResponse是个好东西,可以快速.节省内存地产生一个大型文件. 目前项目里用于流式响应的一个是Eventsource,用于改善跨系统通讯时用户产生的慢速的感觉.这个不细说了. 还有一个就是生成一个大的csv文件. 当Django进程处于gunicorn或者uwsgi等web容器中

java生成csv文件 自己定义表头、用sql查询内容,把内容和表头放到表里 , 最好有代码示例

问题描述 java生成csv文件 自己定义表头.用sql查询内容,把内容和表头放到表里 , 最好有代码示例 30C java生成csv文件 ,自己定义表头.用sql查询内容,把内容和表头放到表里 , 最好有代码示例 解决方案 csv文件最简单了,就是文本格式,逗号分割字段,换行分割记录.你自己sql循环,然后写文件,要表头的话,先输出一行作为表头就可以了. 解决方案二: 我要测试导出csv文件,response.getOutputStream()报空指针异常 解决方案三: 哪位大神有关于导出cs

C# 生成.CSV文件

问题描述 想要用C#生成".csv"文件.目的是生成后的文件用excel打开,看到的是输入内容按照单元格整齐显示,并且看不到逗号:用记事本打开看到的是一行一行的内容,每行的内容都用逗号隔开.现在的代码如下StreamWritersw=newStreamWriter("d:\1.csv",true,System.Text.Encoding.Unicode);{for(inti=0;i<ds.Tables["StationInfo"].Rows

PHP生成CSV文件用Excel打开乱码问题

百度查证后得知 PHP生成UTF-8编码的CSV文件用Excel打开中文显示乱码,是由于输出的CSV文件中没有BOM. 我们只要简单处理一下即可 那么如何在PHP中输出BOM呢? 在所有内容输出之前  代码如下 复制代码 print(chr(0xEF).chr(0xBB).chr(0xBF)); 例.php生成csv时我们可以这样  代码如下 复制代码 <?php $now = gmdate("D, d M Y H:i:s"); header("Expires: Tue

java数组-解析csv文件为数组怎么做?

问题描述 解析csv文件为数组怎么做? 小弟,新人,第一次问问题,大神们,帮我看看怎么弄-有一个csv文件的数据文件(里面大概存了200条的数据)怎样把它处理一下,写入到数据库中呢?要求3分钟内实现,插入完成! PS--要用批处理吗? 解决方案 http://lqcjdx.blog.163.com/blog/static/207489241201356111749932/ 解决方案二: CSV 文件解析解析CSV文件csv文件格式化数组 解决方案三: 建一个跟csv列对应的表,在plsql里,s