ホームページ > バックエンド開発 > PHPチュートリアル > ExcelFileParser は Excel を処理してデータを取得し、batches_PHP チュートリアルでデータベースにインポートできます。

ExcelFileParser は Excel を処理してデータを取得し、batches_PHP チュートリアルでデータベースにインポートできます。

WBOY
リリース: 2016-07-20 11:06:52
オリジナル
857 人が閲覧しました

ExcelFileParser处理excel获得数据 可作批量导入到数据库

提交表单





Excel数据获取演示




   


     
Excel数据获取演示

     

       

           
           
       

     

   



提交处理
[php]
/**
* CopyRight (c) 2009,
* All Rights Reserved.
* ファイル名:
* 要約:
*
* @author Saturday ixqbar@hotmail.com
* @version
*/

class IndexAction extends Action
{
/**
* コンストラクター
*/
public function __construct()
{
parent::__construct();
}
/**
* デフォルトのインデックス ページ
*/
public functionindex()
{
$this->display();
}
/**
* 処理のために送信します
*/
public function parse()
{
/**["type"] => upload_max_filesize2ファイルが大きすぎてmax_file3不完全なアップロード4ファイルアップロードなし)*/
$return=array(0,'');
/**
*/
if( !isset($_FILES) || !is_uploaded_file($_FILES['excel']['tmp_name']))
{
$return=array(1,'提交不法');
}
//处理
の場合(0 == $return[0])
{
import('@.Util.ExcelParser');
$excel=new ExcelParser($_FILES['excel']['tmp_name']);
$return=$ Excel->main();
}
//输出处理
print_r($return);
}
}
?>
[/php]

处理类
[php]
/**
* CopyRight (c) 2009,
* All Rights Reserved.
* ファイル名: Excel データ取得
* 要約:
*
* @author Saturday ixqbar@hotmail.com
* @version 0.1
*/
class ExcelParser
{
private $_data=array(0,'');
private $_excel_handle;
private $_excel=array ();
/**
* コンストラクター
* @param $filename アップロードされたファイルの一時ファイル名
*/
public function __construct($filename)
{
/**
*/
import('@.Util.PHPExcelParser.excelparser','','.php ');
$this->_excel_handle=new ExcelFileParser();
//错误获取
$this->checkErrors($filename);
}
/**
* エラーチェック中
*/
プライベート関数 checkError s($ファイル名)
{
/**
* 方法 1
*/
$error_code=$this->_excel_handle->ParseFromFile($filename);
/**
* 方法二
* $file_handle = fopen($this->_filename,'rb');
* $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注意读写权限)');
ブレーク;
ケース 2 :
$this->_data=array(1,'文件太小');
Break;
case 3:
$this->_data=array(1,'读取Excel表头失败');
Break;
ケース 4:
$this->data=array(1,'文件读取错误');
ケース 5:
$this->_data=array(1,'文件は空の可能性があります');
休憩;
ケース 6:
                $this->_data=array(1,'文件不完整');
Break;
case 7:
$this->_data=array(1,'读取データ错误');
休憩;
ケース8:
$this->_data=array(1,'版本错误');
ブレーク;
}
unset($error_code);
}
/**
* Excel情報取得
*/
プライベート関数 getExcelInfo()
{
if(1==$this->_data[0])return;
/**
* シート数を取得します
* シート単位に対応する行と列を取得します
*/
$this->_excel['sheet_number']=count($this->gt;_excel_handle- >worksheet['name']);
for($i=0;$i<$this->_excel['sheet_number'];$i++)
{
/**
*/
$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
*/
プライベート関数 uc2html($str)
{
$ret = '';
for( $i=0; $i {
$charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
$ret .= ''.$charcode。 ';';
}
return mb_convert_encoding($ret,'UTF-8','HTML-ENTITIES');
}
/**
* Excelデータ取得
*/
プライベート関数 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++)
{
/**
*配列(4){t;*/
$data=$this-> ;_excel_handle->worksheet['data'][$i]['cell'][$j][$k];
switch($data['type'])
{
ケース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']]];
ケース 1:
//TODO
[$j][$k] = $data['data'];
public function main()
{
//Excel 情報を取得
'''''''''''''''''' 「アウト」アウト「」アウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトアウトout outole outole right outole rightole rightole rightole rightpsy rightole right way way way right way waymb rightmbmb way waymbps outmbmbmb out outmb out to out out out out out out out out out スルー アウト オーバー スルー スルー スルー スルー スルー スルー スルー スルー スルースルースルースルースルースルー右-------- 🎉

に戻るための訴訟代理



http://www.bkjia.com/PHPjc/444996.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/444996.html

技術記事

ExcelFileParser は Excel を処理してデータを取得し、そのデータをバッチでデータベースにインポートしてフォームを送信できます。 DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/ DTD/xhtml...





ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート