phpexcel 读取csv大文件只读取显示A列
$file=$files;$type=strtolower(pathinfo($file,PATHINFO_EXTENSION));$path0=$fdirs;//$fi...
$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; 展开
$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; 展开
2个回答
展开全部
虽然有Excel操作类,不建议使用。php操作excel本来就很不地道,表格复杂点就出错,特别是在linux系统上就更麻烦了。
CSV是通用格式,你可以用excel另存为csv格式,再交给php处理。php有专门的fgetcsv()来读取csv中的数据。
CSV是通用格式,你可以用excel另存为csv格式,再交给php处理。php有专门的fgetcsv()来读取csv中的数据。
追问
谢谢你的回复 不过我试过了fgetcsv() 且在读取上传的win电脑表格软件另存的csv之前将其转utf-8 但在linux上还是乱码的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嗯不知道如果不行的话 就说明你买的iphone嗯盗版的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |