PHPExcel 对xls表格的文件读取
2016-07-11 00:36
615 查看
//先去http://phpexcel.codeplex.com/releases/view/119187 下载文件包最后解压Classes到当前目录
header("Content-type: text/html; charset=utf-8");
error_reporting(E_ALL);
date_default_timezone_set('Asia/ShangHai');
require_once './Classes/PHPExcel/IOFactory.php';
// Check prerequisites
if (!file_exists("ssc_user.xls")) {
exit("not found ssc_user.xls.\n");
}
$patch="ssc_user.xls";
$reader = PHPExcel_IOFactory::createReader('Excel5'); //设置以Excel5格式(Excel97-2003工作簿)
$PHPExcel = $reader->load($patch); // 载入excel文件
$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumm = $sheet->getHighestColumn(); // 取得总列数
/** 循环读取每个单元格的数据 */
$arr=array();
for($row = 1; $row <= $highestRow; $row++)
{
$number='B'.$row;//列数用户名
$name=$sheet->getCell($number)->getValue();
$number='A'.$row;//列数用户名id
$uid=$sheet->getCell($number)->getValue();
$arr[$name]=$uid;
}
//如果在读取文件中有遇到时间可用以下函数解决
//时间转换
function excelTime($date, $time = false) {
if(function_exists('GregorianToJD'))
{
if (is_numeric( $date ))
{
$jd = GregorianToJD( 1, 1, 1970 );
$gregorian = JDToGregorian( $jd + intval ( $date ) - 25569 );
$date = explode( '/', $gregorian );
$date_str = str_pad( $date [2], 4, '0', STR_PAD_LEFT )."-". str_pad( $date [0], 2, '0', STR_PAD_LEFT )."-". str_pad( $date [1], 2, '0', STR_PAD_LEFT ). ($time ? " 00:00:00" : '');return $date_str;
}
}else{
$date=$date>25568?$date+1:25569;
/*There was a bug if Converting date before 1-1-1970 (tstamp 0)*/
$ofs=(70 * 365 + 17+2) * 86400;$date = date("Y-m-d",($date * 86400) - $ofs).($time ? " 00:00:00" : '');
}
return $date;
}
header("Content-type: text/html; charset=utf-8");
error_reporting(E_ALL);
date_default_timezone_set('Asia/ShangHai');
require_once './Classes/PHPExcel/IOFactory.php';
// Check prerequisites
if (!file_exists("ssc_user.xls")) {
exit("not found ssc_user.xls.\n");
}
$patch="ssc_user.xls";
$reader = PHPExcel_IOFactory::createReader('Excel5'); //设置以Excel5格式(Excel97-2003工作簿)
$PHPExcel = $reader->load($patch); // 载入excel文件
$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumm = $sheet->getHighestColumn(); // 取得总列数
/** 循环读取每个单元格的数据 */
$arr=array();
for($row = 1; $row <= $highestRow; $row++)
{
$number='B'.$row;//列数用户名
$name=$sheet->getCell($number)->getValue();
$number='A'.$row;//列数用户名id
$uid=$sheet->getCell($number)->getValue();
$arr[$name]=$uid;
}
//如果在读取文件中有遇到时间可用以下函数解决
//时间转换
function excelTime($date, $time = false) {
if(function_exists('GregorianToJD'))
{
if (is_numeric( $date ))
{
$jd = GregorianToJD( 1, 1, 1970 );
$gregorian = JDToGregorian( $jd + intval ( $date ) - 25569 );
$date = explode( '/', $gregorian );
$date_str = str_pad( $date [2], 4, '0', STR_PAD_LEFT )."-". str_pad( $date [0], 2, '0', STR_PAD_LEFT )."-". str_pad( $date [1], 2, '0', STR_PAD_LEFT ). ($time ? " 00:00:00" : '');return $date_str;
}
}else{
$date=$date>25568?$date+1:25569;
/*There was a bug if Converting date before 1-1-1970 (tstamp 0)*/
$ofs=(70 * 365 + 17+2) * 86400;$date = date("Y-m-d",($date * 86400) - $ofs).($time ? " 00:00:00" : '');
}
return $date;
}
相关文章推荐
- ViewPager和FragmentPagerAdapter结合使用
- ThinkPHP3.2.3 分页带入查询条件 JS重写
- RewriteRule index.php/$1 什么意思
- php如何使用文件锁
- php变量定义和使用
- PHP Array方法归纳总结
- PHP判断是否是移动设备访问
- php实现的视频质量检测配置页面,异步调用不退出的进程:
- Yii2-Session超时设置无效问题处理
- php实现IP地址和数字相互转换
- php的socket通信
- ftp--Ubuntu与arm板数据传送
- php switch理解
- thinkphp的自动完成功能说明
- yii2.0数据库交互ORM
- PHP 写入txt文件换行
- PHP面向对象总结
- FTP-------应用层协议
- php中$this->是什么意思
- iOSAFN上传图片 php接收(一)(模拟表单上传)