phpexcel 读取csv大文件只读取显示A列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了phpexcel 读取csv大文件只读取显示A列相关的知识,希望对你有一定的参考价值。
$file = $files;
$type = strtolower( pathinfo($file, PATHINFO_EXTENSION) );
$path0 = $fdirs;
//$file = iconv('GBK', 'UTF-8//TRANSLIT//IGNORE', $file);
if (!file_exists($path0)) die('no file!');//根据不同类型分别操作
if( $type=='xlsx'||$type=='xls' )
$objphpExcel = PHPExcel_IOFactory::load($path0);
else if( $type=='csv' )
$objReader = PHPExcel_IOFactory::createReader('CSV')
->setDelimiter(',')
->setInputEncoding('GBK')//不设置将导致中文列内容返回boolean(false)或乱码
->setEnclosure('"')
->setSheetIndex(0);
$objPHPExcel = $objReader->load($path0);
else die('Not supported file types!');
$sheet = $objPHPExcel->getSheet(0); // 读取第一个工作表
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumm = $sheet->getHighestColumn(); // 取得总列数
$str = '';
$str .= '<table border="1" cellspacing="0" bordercolor="#eeeeee" cellpadding="5" width="100%">';
//按照excel表格格式输出A-Z列
$str .= '<tr>';
$str .= '<td></td>';
for($column = 'A'; $column <= $highestColumm; $column++)
$str .= '<td>' .$column. '</td>';
$str .= '</tr>';
//按照excel表格的格式从1开始累计
for ($row = 1; $row <= $highestRow; $row++)//行数是以第1行开始
$str .= '<tr>';
$str .= '<td>' .$row. '</td>';
//输出excel表格的内容
for($column = 'A'; $column <= $highestColumm; $column++)
$str .= '<td>' .$sheet->getCell($column.$row)->getValue(). '</td>';
$str .= '</tr>';
$str .= '<table>';
echo $str;
CSV是通用格式,你可以用excel另存为csv格式,再交给php处理。php有专门的fgetcsv()来读取csv中的数据。追问
谢谢你的回复 不过我试过了fgetcsv() 且在读取上传的win电脑表格软件另存的csv之前将其转utf-8 但在linux上还是乱码的
参考技术B 嗯不知道如果不行的话 就说明你买的iphone嗯盗版的对PHPExcel一些简单的理解 及怎么读取单元格数据
参考技术A 常用的用PHP读取EXCEL的方法有以下三种,各自有各自的优缺点。个人推荐用第三种方法,因为它可以跨平台使用。 1. 以.csv格式读取 将.xls转换成.csv的文本格式,然后再用PHP分析这个文件,和PHP分析文本没有什么区别。本回答被提问者采纳以上是关于phpexcel 读取csv大文件只读取显示A列的主要内容,如果未能解决你的问题,请参考以下文章