来自 澳门金莎娱乐手机版 2019-09-27 01:08 的文章
当前位置: 金沙澳门官网网址 > 澳门金莎娱乐手机版 > 正文

实例介绍,php生成与读取excel文件

excel文件(.csv)

PHP有自带的分析.csv函数:fgetcsv

 代码如下

array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )
handle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。
length (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
delimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。
enclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。
fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。
注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。

<?php 
function getCSVdata($filename) 

    $row = 1;//第一行开始 
    if(($handle = fopen($filename, "r")) !== false)  
    { 
        while(($dataSrc = fgetcsv($handle)) !== false)  
        { 
            $num = count($dataSrc); 
            for ($c=0; $c < $num; $c++)//列 column  
            { 
                if($row === 1)//第一行作为字段  
                { 
                    $dataName[] = $dataSrc[$c];//字段名称 
                } 
                else 
                { 
                    foreach ($dataName as $k=>$v) 
                    { 
                        if($k == $c)//对应的字段 
                        { 
                            $data[$v] = $dataSrc[$c]; 
                        } 
                    } 
                } 
            } 
            if(!empty($data)) 
            { 
                 $dataRtn[] = $data; 
                 unset($data); 
            } 
            $row++; 
        } 
        fclose($handle); 
        return $dataRtn; 
    } 

 
澳门金莎娱乐手机版 ,$aData = getCSVdata('all_www.111cn.net.csv'); 
 
foreach ($aData as $k=>$v ){
echo ";";
}
?>  

生成excel文件(csv)

 代码如下

 代码如下

<?php
$row = 1;
$handle = fopen("test.csv","r");
while ($data = fgetcsv($handle, 1000, ",")) {
 $num = count($data);
 echo "
 $num fields in line $row:n";
 $row++;
 for ($c=0; $c < $num; $c++) {
 echo $data[$c] . "n";
 }
}
fclose($handle);
?>

<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=test_data.xls");
//输出内容如下:
echo   "姓名"."t";
echo   "年龄"."t";
echo   "学历"."t";
echo   "n";
echo   "张三"."t";
echo   "25"."t";
echo   "本科"."t";
?>

例2

上面只是简单的一些excel文件操作,如果说进行如编辑,修改,删除行表格操作我们可使用phpexcel插件来操作excel文件了

在百度统计和站长工具使用过程中会涉及到很多csv文件,比如我们下载百度站长工具的404统计数据,直接可以使用以下php脚本来读取csv文件然后更新提交。

推荐阅读:利用phpexcel读取excel实现代码

php读取excel文件(.csv)参考代码:

 

 代码如下

<?php 
function getCSVdata($filename) 

    $row = 1;//第一行开始 
    if(($handle = fopen($filename, "r")) !== false)  
    { 
        while(($dataSrc = fgetcsv($handle)) !== false)  
        { 
            $num = count($dataSrc); 
            for ($c=0; $c < $num; $c++)//列 column  
            { 
                if($row === 1)//第一行作为字段  
                { 
                    $dataName[] = $dataSrc[$c];//字段名称 
                } 
                else 
                { 
                    foreach ($dataName as $k=>$v) 
                    { 
                        if($k == $c)//对应的字段 
                        { 
                            $data[$v] = $dataSrc[$c]; 
                        } 
                    } 
                } 
            } 
            if(!empty($data)) 
            { 
                 $dataRtn[] = $data; 
                 unset($data); 
            } 
            $row++; 
        } 
        fclose($handle); 
        return $dataRtn; 
    } 

 
$aData = getCSVdata('all_www.111cn.net .csv'); 
 
foreach ($aData as $k=>$v ){
echo ";";
}
?>  

PHP自定义类

本文由金沙澳门官网网址发布于澳门金莎娱乐手机版,转载请注明出处:实例介绍,php生成与读取excel文件

关键词: