后端开发|php教程
ExcelFileParser,excel
后端开发-php教程
llrp协议源码,ubuntu 终端无反应,骷髅爬虫吃人图片,php 转运,宜昌seo公司lzw
Excel数据获取演示
全网首发仿下下片网站源码,vscode直接搜索方法,ubuntu 写ios,tomcat请求图,sqlite3 多表查询,asp网站漏洞修复插件,前端支持H5的好框架,用别人的爬虫违法吗,php统计源码,吉林专业seo优化,网页制作素材网站html,简单三列网页模板,导购模板下载lzw
<?php
/**
* CopyRight (c) ,
* All rights reserved.
* 文件名:
* 摘 要:
*
* @author 星期八 [url=mailto:ixqbar@]ixqbar@[/url]
* @version
*/
public function parse()
{
/**
* $_FILES数组说明
* array(n) {
* ["表单文件框名称"] => array(5) {
* ["name"] => 提交文件名称
* ["type"] => 提交文件类型 Excel为"application/vnd.ms-excel"
* ["tmp_name"] => 临时文件名称
* ["error"] => 错误(0成功1文件太大超过upload_max_filesize2文件太大超过MAX_FILE3上传不完整4没有上传文件)
* ["size"] => 文件大小(单位:KB)
* }
* }
*/
$return=array(0,\);
/**
* 判断是否提交
* is_uploaded_file(文件名称)用于确定指定的文件是否使用POST方法上传,防止非法提交,通常和move_upload_file一起使用保存上传文件到指定的路径
*/
if(!isset($_FILES) || !is_uploaded_file($_FILES[excel][ mp_name]))
{
$return=array(1,提交不合法);
}
//处理
if(0 == $return[0])
{
import(@.Util.ExcelParser);
$excel=new ExcelParser($_FILES[excel][ mp_name]);
$return=$excel->main();
}
//输出处理
print_r($return);
?>
<?php
/**
* CopyRight (c) ,
* All rights reserved.
* 文件名:excel数据获取
* 摘 要:
*
* @author 星期八 [url=mailto:ixqbar@]ixqbar@[/url]
* @version 0.1
*/
class ExcelParser
{
private $_data=array(0,\);
private $_excel_handle;
private $_excel=array();
/**
* 构造函数
* @param $filename 上传文件临时文件名称
*/
public function __construct($filename)
{
/**
* 引入excelparser类
* 普通方法为
* requires 路径.excelparser.php;
*/
import(@.Util.PHPExcelParser.excelparser,\,.php);
$this->_excel_handle=new ExcelFileParser();
//错误获取
$this->checkErrors($filename);
}
/**
* 错误校验
*/
private function checkErrors($filename)
{
/**
* 方法一
*/
$error_code=$this->_excel_handle->ParseFromFile($filename);
/**
* 方法二
* $file_handle = fopen($this->_filename, b);
* $content = fread($file_handle,filesize($this->_filename));
* fclose($file_handle);
* $error_code = $this->_excel->ParseFromString($content);
* unset($content,$file_handle);
*/
switch($error_code)
{
case 0:
//无错误不处理
break;
case 1:
$this->_data=array(1,文件读取错误(Linux注意读写权限));
break;
case 2:
$this->_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[ ame]);
for($i=0;$i_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[ ow_number][$i]=($row==NULL)?0:++$row;
$this->_excel[col_number][$i]=($col==NULL)?0:++$col;
unset($row,$col);
}
}
/**
* 中文处理函数
* @return
*/
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_excel[sheet_number];$i++)
{
/**
* 对行循环
*/
for($j=0;$j_excel[ ow_number][$i];$j++)
{
/**
* 对列循环
*/
for($k=0;$k_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[ ype])
{
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[1][$i][$j][$k]=$data[data];
unset($data);
}
}
}
}
/**
* 主函数
* @return array(标识符,内容s)
*/
public function main()
{
//Excel信息获取
$this->getExcelInfo();
//Excel数据获取
$this->getExcelData();
return $this->_data;
}
}
?>
快问医生平台源码,vscode怎么运行sjn,ubuntu跳出终端,建立简单的tomcat,使用sqlite3存储代码,高级爬虫工程师需要会什么,笑话php源码,如何写seo新闻,生物公司网站源码,更新栏目 模板文件不存在 无法解析文档lzw