关于PHPExcel批处理及json数据处理

require_once('PHPExcel/Classes/PHPExcel.php');//phpExcel批处理excel表格的文件包相对路径
header('Content-Type:text/html;charset=gb2312');//编码要保持同步,excle文件和php文件,不然中文会为空或乱码。
$php_excel_obj = new PHPExcel();
$php_reader = new PHPExcel_Reader_Excel2007();
$file_name='my/yyjb.xls';//excel文件的相对路径及地址。
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);

//上面的主要功能是初始化相关的excel类,并装载excel第一个sheet

$all_column =$current_sheet->getHighestColumn();
$all_row =$current_sheet->getHighestRow();

//以上分别获得该表格的最大列值(字母表示如:‘G’),和最大的行数(数值表示)

//下面将使用循环来讲excel里面的数据读到excel中:

$all_arr = array();
$c_arr = array();

//字符对照表

for($r_i = 1; $r_i<=$all_row; $r_i++)
{
$c_arr= array();
for($c_i= 'A'; $c_i<= $all_column; $c_i++)//$all_column为excel表格列,用字母代表,如:'C'.表示只读三列数据。
{
$adr= $c_i . $r_i;
$value= $current_sheet->getCell($adr)->getValue();
//$value=iconv("utf-8","gb2312",$value);出现编码不统一时可以用来转码。
if($c_i== 'A' && empty($value) )
break;
if(is_object($value))
$value= $value->__toString();
$c_arr[$c_i]= $value;

}
$c_arr&& $all_arr[] = $c_arr;
}
echo json_encode($all_arr);    //用json传递数据。

//如没配置smarty模版可以在页面直接用jquery的$.getJSON函数处理数据

$.getJSON("../gong.php",function(data){
$.each(data, function(i, field){
$(".graphics-mod").append('<li class="graphics-item"><div class="pic-wrap"><a href="" class="pic"><img src="'+field.B+'" alt="'+field.A+'" width="86" height="116" /></a></div><h3 class="tit"><a class="one" href="" title="">'+field.A+'</a></h3><p class="summary">'+field.C+'</p></li>');
});
});

posted @ 2012-07-27 13:55  BeacherGong  阅读(527)  评论(0编辑  收藏  举报