phpexcel是一个开源项目提供了一套PHP编程语言的类,它允许你写入和读出不同的电子表格文件格式,最新版本是1.7.7,
最新下载地址:http://phpexcel.codeplex.com/releases/view/88098
操作上传的excel文件,
define('MAX_SIZE_FILE_UPLOAD', '5000000' ); //文件大小
define('FILE_UPLOAD_DIR', './'); //上传文件的目录
$array_extention_interdite = array( '.php' , '.php3' , '.php4' , '.exe' , '.msi' , '.htaccess' , '.gz' ); //上传文件的扩展名
chmod(FILE_UPLOAD_DIR,0777);
if( $_FILES['file']['size'] >= 10 ){
if ($_FILES['file']['size'] <= MAX_SIZE_FILE_UPLOAD ){
if (!in_array(ereg_replace('^[[:alnum:]]([-_.]?[[:alnum:]])*\.' ,'.', $_FILES['file']['name'] ) , $array_extention_interdite) ){
if($_POST['file_name'] !=''){
$file_name_final = $_POST['file_name'].$extension ;
}else {
$file_name_final = $_FILES['file']['name'] ;
}
$_FILES['file']['name'] = $file_name_final;
move_uploaded_file( $_FILES['file']['tmp_name'],FILE_UPLOAD_DIR.$file.$file_name_final );
$message_true .= '已经上传文件 : '.$_FILES['file']['name'] .'<br>';
}else{
$message_false .= '文件上传失败 : '.$_FILES['file']['name'] .' <br>';
}
}else{
$message_false .= '文件尺寸超过'.MAX_SIZE_FILE_UPLOAD/1000 . 'KB : " '.$_FILES['file']['tmp_name'].'" <br>';}
}
$file_name=$_FILES["file"]["name"];
require_once('Classes/PHPExcel.php');
if(strpos($file_name,'xls')){
$php_excel_obj = new PHPExcel();
$php_reader = new PHPExcel_Reader_Excel2007();
if(!$php_reader->canRead($file_name))
{
$php_reader= new PHPExcel_Reader_Excel5();
if(!$php_reader->canRead($file_name))
{
echo'NO Excel!';
}
}
$php_excel_obj = $php_reader->load($file_name);
$current_sheet =$php_excel_obj->getSheet(0);
$all_column =$current_sheet->getHighestColumn(); //总列数
$all_row =$current_sheet->getHighestRow(); //总行数
for($i=3;$i<=$all_row;$i++){
echo "时间是"excelTime($intime);
}
if(file_exists($file_name)){//删除上传的文件
unlink($file_name);
}
function excelTime($days, $time=false){
//office GTM时间转换
if(is_numeric($days)){
$jd = GregorianToJD(1, 1, 1970);
$gregorian = JDToGregorian($jd+intval($days)-25569);
$myDate = explode('/',$gregorian);
$myDateStr = str_pad($myDate[2],4,'0', STR_PAD_LEFT)
."-".str_pad($myDate[0],2,'0', STR_PAD_LEFT)
."-".str_pad($myDate[1],2,'0', STR_PAD_LEFT)
.($time?" 00:00:00":'');
return $myDateStr;
}
return $days;
}