php读取excel中文匹配_【PHP】php读取excel表格的最简单方法

今天有一同事问我说能不能在CRM中直接导入excel的表格进去,我说可以,虽然我之前没做过这个,但毕竟使用php来操作excel文档不是什么新鲜事,so,我稍微想了一下就表示可以,让他去准备表格吧~~

之后就去网上逛了会儿,发现大多数都是用的ExcelReader类来实现的,虽然这个东西用起来很强大,功能也多,但在某些情况下不一定就是最好的。所以在这里咱们不讨论这个excelreader类库。

不知道大家在使用excel时有没有注意到,在保存表格时的格式里有一项“.csv”~这个CSV具体是什么东东,大家可以私下里研究学习,这里仅稍微做一下科普,CSV是“逗号分隔值”的简称,说白了,它就是把数据以逗号和换行的方式保存。大家可以试着把一个简单的表格文件另存为.csv格式,之后用记事本打开看看是什么样子的~~

有了CSV就好办了,在PHP里有fgetcsv()函数,从文件指针中读入一行并解析 CSV 字段,顿时开朗了吧?来一小段代码:

$handle = fopen("demo.csv","r");

$i = 0;

$result = array();

while ($row = fgetcsv($handle, 1000, ",")) {    //第二个参数一定要比文件中最长的那一行还要长...具体参数见手册

if( empty($row[0]) || empty($row[1]) || empty($row[2]) ) continue;  //在遇到有空值的列时 直接跳过。

$result[$i] = $row;

$i++;

}

echo '

';

print_r($result);

?>

看这段代码和那个ExcelReader的类库相比如何??这个方法可以很轻松的读入一些比较简单的excel表格数据。不过需要注意的一点是,用fgetcsv()方法读进的文件头一列不能有中文,否则会有乱码,虽然网上说有用setlocale()函数转码的,不过我还没有研究出如何在循环中使用这个函数…我想在表格最前面加一个数字列,如序号,应该更简单一点儿吧?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值