Maison développement back-end tutoriel php php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)_php技巧

php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)_php技巧

May 17, 2016 am 09:23 AM
excel

复制代码 代码如下:





Excel数据获取演示





Excel数据获取演示











复制代码 代码如下:

/**
* CopyRight (c) 2009,
* All rights reserved.
* 文件名:
* 摘 要:
*
* @author 星期八 [url=mailto:ixqbar@hotmail.com]ixqbar@hotmail.com[/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']['tmp_name']))
{
$return=array(1,'提交不合法');
}
//处理
if(0 == $return[0])
{
import('@.Util.ExcelParser');
$excel=new ExcelParser($_FILES['excel']['tmp_name']);
$return=$excel->main();
}
//输出处理
print_r($return);
?>

复制代码 代码如下:

/**
* CopyRight (c) 2009,
* All rights reserved.
* 文件名:excel数据获取
* 摘 要:
*
* @author 星期八 [url=mailto:ixqbar@hotmail.com]ixqbar@hotmail.com[/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,'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注意读写权限)');
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['name']);
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['row_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{
$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['row_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['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[1][$i][$j][$k]=$data['data'];
unset($data);
}
}
}
}
/**
* 主函数
* @return array(标识符,内容s)
*/
public function main()
{
//Excel信息获取
$this->getExcelInfo();
//Excel数据获取
$this->getExcelData();
return $this->_data;
}
}
?>
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si la ligne du cadre disparaît lors de l'impression dans Excel ? Que dois-je faire si la ligne du cadre disparaît lors de l'impression dans Excel ? Mar 21, 2024 am 09:50 AM

Si lors de l'ouverture d'un fichier qui doit être imprimé, nous constatons que la ligne du cadre du tableau a disparu pour une raison quelconque dans l'aperçu avant impression. Lorsque nous rencontrons une telle situation, nous devons la traiter à temps si cela apparaît également dans votre impression. file Si vous avez des questions comme celle-ci, alors rejoignez l'éditeur pour apprendre le cours suivant : Que dois-je faire si la ligne du cadre disparaît lors de l'impression d'un tableau dans Excel ? 1. Ouvrez un fichier à imprimer, comme indiqué dans la figure ci-dessous. 2. Sélectionnez toutes les zones de contenu requises, comme indiqué dans la figure ci-dessous. 3. Cliquez avec le bouton droit de la souris et sélectionnez l'option "Formater les cellules", comme indiqué dans la figure ci-dessous. 4. Cliquez sur l'option « Bordure » en haut de la fenêtre, comme indiqué dans la figure ci-dessous. 5. Sélectionnez le motif de ligne continue fine dans le style de ligne de gauche, comme indiqué dans la figure ci-dessous. 6. Sélectionnez « Bordure extérieure »

Comment filtrer plus de 3 mots-clés en même temps dans Excel Comment filtrer plus de 3 mots-clés en même temps dans Excel Mar 21, 2024 pm 03:16 PM

Excel est souvent utilisé pour traiter les données dans le travail de bureau quotidien et il est souvent nécessaire d'utiliser la fonction « filtre ». Lorsque nous choisissons d'effectuer un « filtrage » dans Excel, nous ne pouvons filtrer que jusqu'à deux conditions pour la même colonne. Alors, savez-vous comment filtrer plus de 3 mots-clés en même temps dans Excel ? Ensuite, laissez-moi vous le démontrer. La première méthode consiste à ajouter progressivement les conditions au filtre. Si vous souhaitez filtrer trois informations éligibles en même temps, vous devez d'abord en filtrer une étape par étape. Au début, vous pouvez d'abord filtrer les employés nommés « Wang » en fonction des conditions. Cliquez ensuite sur [OK], puis cochez [Ajouter la sélection actuelle au filtre] dans les résultats du filtre. Les étapes sont les suivantes. De même, effectuez à nouveau le filtrage séparément

Comment changer le mode de compatibilité des tableaux Excel en mode normal Comment changer le mode de compatibilité des tableaux Excel en mode normal Mar 20, 2024 pm 08:01 PM

Dans notre travail et nos études quotidiens, nous copions les fichiers Excel des autres, les ouvrons pour ajouter du contenu ou les rééditer, puis les enregistrons Parfois, une boîte de dialogue de vérification de compatibilité apparaît, ce qui est très gênant, je ne connais pas Excel. logiciel, peut-il être modifié en mode normal ? Ci-dessous, l'éditeur vous présentera les étapes détaillées pour résoudre ce problème, apprenons ensemble. Enfin, n’oubliez pas de le sauvegarder. 1. Ouvrez une feuille de calcul et affichez un mode de compatibilité supplémentaire dans le nom de la feuille de calcul, comme indiqué sur la figure. 2. Dans cette feuille de calcul, après avoir modifié le contenu et l'avoir enregistré, la boîte de dialogue du vérificateur de compatibilité apparaît toujours. Il est très gênant de voir cette page, comme le montre la figure. 3. Cliquez sur le bouton Office, cliquez sur Enregistrer sous, puis

Comment taper un indice dans Excel Comment taper un indice dans Excel Mar 20, 2024 am 11:31 AM

eNous utilisons souvent Excel pour créer des tableaux de données, etc. Parfois, lors de la saisie des valeurs de paramètres, nous devons mettre en exposant ou en indice un certain nombre. Par exemple, des formules mathématiques sont souvent utilisées. Alors, comment tapez-vous l'indice dans Excel ? jetez un œil aux étapes détaillées : 1. Méthode en exposant : 1. Tout d'abord, saisissez a3 (3 est en exposant) dans Excel. 2. Sélectionnez le chiffre « 3 », faites un clic droit et sélectionnez « Formater les cellules ». 3. Cliquez sur « Exposant » puis sur « OK ». 4. Regardez, l'effet est comme ça. 2. Méthode d'indice : 1. Semblable à la méthode de configuration de l'exposant, entrez « ln310 » (3 est l'indice) dans la cellule, sélectionnez le chiffre « 3 », cliquez avec le bouton droit et sélectionnez « Formater les cellules ». 2. Cochez « Indice » et cliquez sur « OK »

Comment définir l'exposant dans Excel Comment définir l'exposant dans Excel Mar 20, 2024 pm 04:30 PM

Lors du traitement des données, nous rencontrons parfois des données contenant divers symboles tels que des multiples, des températures, etc. Savez-vous comment définir des exposants dans Excel ? Lorsque nous utilisons Excel pour traiter des données, si nous ne définissons pas d'exposants, il sera plus difficile de saisir une grande partie de nos données. Aujourd'hui, l'éditeur vous proposera la méthode de configuration spécifique de l'exposant Excel. 1. Tout d'abord, ouvrons le document Microsoft Office Excel sur le bureau et sélectionnons le texte qui doit être modifié en exposant, comme indiqué sur la figure. 2. Ensuite, faites un clic droit et sélectionnez l'option "Formater les cellules" dans le menu qui apparaît après avoir cliqué, comme indiqué sur la figure. 3. Ensuite, dans la boîte de dialogue « Formater les cellules » qui apparaît automatiquement

Comment utiliser la fonction iif dans Excel Comment utiliser la fonction iif dans Excel Mar 20, 2024 pm 06:10 PM

La plupart des utilisateurs utilisent Excel pour traiter les données des tableaux. En fait, Excel dispose également d'un programme VBA, à l'exception des experts, peu d'utilisateurs ont utilisé cette fonction. La fonction iif est souvent utilisée lors de l'écriture en VBA. les fonctions des fonctions sont similaires. Laissez-moi vous présenter l'utilisation de la fonction iif. Il existe des fonctions iif dans les instructions SQL et du code VBA dans Excel. La fonction iif est similaire à la fonction IF dans la feuille de calcul Excel. Elle effectue un jugement de valeur vrai et faux et renvoie des résultats différents en fonction des valeurs vraies et fausses calculées logiquement. L'utilisation de la fonction SI est (condition, oui, non). Instruction IF et fonction IIF dans VBA La première instruction IF est une instruction de contrôle qui peut exécuter différentes instructions selon les conditions.

Où définir le mode de lecture Excel Où définir le mode de lecture Excel Mar 21, 2024 am 08:40 AM

Dans l'étude des logiciels, nous sommes habitués à utiliser Excel, non seulement parce qu'il est pratique, mais aussi parce qu'il peut répondre à une variété de formats nécessaires au travail réel, et Excel est très flexible à utiliser, et il existe un mode qui est pratique pour lire. Aujourd'hui, j'ai apporté Pour tout le monde : où définir le mode de lecture Excel. 1. Allumez l'ordinateur, puis ouvrez l'application Excel et recherchez les données cibles. 2. Il existe deux manières de définir le mode de lecture dans Excel. Le premier type : Dans Excel, il existe un grand nombre de méthodes de traitement pratiques distribuées dans la mise en page Excel. Dans le coin inférieur droit d'Excel, il y a un raccourci pour définir le mode de lecture. Recherchez le motif de la croix et cliquez dessus pour accéder au mode de lecture. Il y a une petite marque tridimensionnelle sur le côté droit de la croix. .

Comment insérer des icônes Excel dans les diapositives PPT Comment insérer des icônes Excel dans les diapositives PPT Mar 26, 2024 pm 05:40 PM

1. Ouvrez le PPT et tournez la page jusqu'à la page où vous devez insérer l'icône Excel. Cliquez sur l'onglet Insérer. 2. Cliquez sur [Objet]. 3. La boîte de dialogue suivante apparaîtra. 4. Cliquez sur [Créer à partir d'un fichier], puis cliquez sur [Parcourir]. 5. Sélectionnez le tableau Excel à insérer. 6. Cliquez sur OK et la page suivante apparaîtra. 7. Cochez [Afficher sous forme d'icône]. 8. Cliquez sur OK.

See all articles