;_data=array(1,''文件太小'');
break;
case 3:
$this->_data=array(1,''读取Excel表头失败'');
break;
case 4:
$this->_data=array(1,''文件读取错误'');
break;
case 5:
$this->_data=array(1,''文件可能为空'');
break;
case 6:
$this->_data=array(1,''文件不完整'');
break;
case 7:
$this->_data=array(1,''读取数据错误'');
break;
case 8:
$this->_data=array(1,''版本错误'');
break;
}
unset($error_code);
}
/**
* Excel信息获取
*/
private function getExcelInfo()
{
if(1==$this->_data[0])return;
/**
* 获得sheet数量
* 获得sheet单元对应的行和列
*/
$this->_excel[''sheet_number'']=count($this->_excel_handle->worksheet[''name'']);
for($i=0;$i<$this->_excel[''sheet_number''];$i++)
{
/**
* 行于列
* 注意:从0开始计数
*/
$row=$this->_excel_handle->worksheet[''data''][$i][''max_row''];
$col=$this->_excel_handle->worksheet[''data''][$i][''max_col''];
$this->_excel[''row_number''][$i]=($row==NULL)?0:++$row;
$this->_excel[''col_number''][$i]=($col==NULL)?0:++$col;
unset($row,$col);
}
}
/**
* 中文处理函数
* @return <string>
*/
private function uc2html($str)
{
$ret = '''';
for( $i=0; $i<strlen($str)/2; $i++ )
{
$charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
$ret .= ''''.$charcode.'';'';
}
return mb_convert_encoding($ret,''UTF-8'',''HTML-ENTITIES'');
}
/**
* Excel数据获取
*/
private function getExcelData()
{
if(1==$this->_data[0])return;
//修改标记
$this->_data[0]=1;
//获取数据
for($i=0;$i<$this->_excel[''sheet_number''];$i++)
{
/**
* 对行循环
*/
for($j=0;$j<$this->_excel[''row_number''][$i];$j++)
{
/**
* 对列循环
*/
for($k=0;$k<$this->_excel[''col_number''][$i];$k++)
{
/**
* array(4) {
* ["type"] => 类型 [0字符类型1整数2浮点数3日期]
* ["font"] => 字体
* ["data"] => 数据
* ...
* }
*/
$data=$this->_excel_handle->worksheet[''data''][$i][''cell''][$j][$k];
switch($data[''type''])
{
case 0:
//字符类型
if($this->_excel_handle->sst[''unicode''][$data[''data'']])
{
//中文处理
$data[''data''] = $this->uc2html($this->_excel_handle->sst[''data''][$data[''data'']]);
}
else
{
$data[''data''] = $this->_excel_handle->sst[''data''][$data[''data'']];
}
break;
case 1:
//整数
//TODO
break;
case 2:
//浮点数
//TODO
break;
case 3:
//日期
//TODO
break;
}
$this->_data[$i][$j][$k]=$data[''data''];
unset($data);
}
}
}
}
/**
* 主函数
* @return <array> array(标识符,内容s)
*/
public function main()
{
//Excel信息获取
$this->getExcelInfo();
//Excel数据获取
$this->getExcelData();
return $this->_data;
}
}
?>