Maison  >  Article  >  développement back-end  >  (Avancé) Utilisez PHP pour importer Excel et exporter des données vers des fichiers Excel

(Avancé) Utilisez PHP pour importer Excel et exporter des données vers des fichiers Excel

黄舟
黄舟original
2017-02-07 09:38:471815parcourir

Parfois, il est nécessaire d'importer les données d'un tableau Excel dans une base de données MySQL. Nous utilisons PHP-ExcelReader, un projet open source de PHP, pour réaliser facilement l'importation Excel.

1. Importer XLS

PHP-ExcelReader Il s'agit d'un projet open source, principalement utilisé pour analyser des fichiers Excel. Vous pouvez aller sur http://sourceforge.net/projects/phpexcelreader pour l'obtenir. la dernière version du code source. Après le téléchargement, décompressez-le et utilisez principalement les deux fichiers reader.php et oleread.inc dans le dossier Excel.

Processus de traitement d'importation Xls : sélectionnez le fichier xls->téléchargez le fichier xls sur le serveur->analysez Excel via PHP-ExcelReader->stockage par lots.

include_once("excel/reader.php"); //引入PHP-ExcelReader 
$tmp = $_FILES['file']['tmp_name']; 
if (empty ($tmp)) { 
    echo '请选择要导入的Excel文件!'; 
    exit; 
} 
     
$save_path = "xls/"; 
$file_name = $save_path.date('Ymdhis') . ".xls"; //上传后的文件保存路径和名称 
if (copy($tmp, $file_name)) { 
    $xls = new Spreadsheet_Excel_Reader(); 
    $xls->setOutputEncoding('utf-8');  //设置编码 
    $xls->read($file_name);  //解析文件 
    for ($i=2; $i<=$xls->sheets[0][&#39;numRows&#39;]; $i++) { 
        $name = $xls->sheets[0][&#39;cells&#39;][$i][0]; 
        $sex = $xls->sheets[0][&#39;cells&#39;][$i][1]; 
        $age = $xls->sheets[0][&#39;cells&#39;][$i][2]; 
        $data_values .= "(&#39;$name&#39;,&#39;$sex&#39;,&#39;$age&#39;),"; 
    } 
    $data_values = substr($data_values,0,-1); //去掉最后一个逗号 
    $query = mysql_query("insert into student (name,sex,age) values $data_values");//批量插入数据表中 
    if($query){ 
        echo &#39;导入成功!&#39;; 
    }else{ 
        echo &#39;导入失败!&#39;; 
    } 
}

Après que PHP-ExcelReader ait lu le fichier Excel téléchargé, il renvoie un tableau contenant toutes les informations du tableau. Vous pouvez faire une boucle pour obtenir les informations requises.

2. Exporter XLS

Processus d'exportation XLS : lire le tableau d'informations sur l'étudiant-> enregistrement en boucle pour créer des informations de champ délimitées par des tabulations-> vers local

$result = mysql_query("select * from student"); 
$str = "姓名\t性别\t年龄\t\n"; 
$str = iconv(&#39;utf-8&#39;,&#39;gb2312&#39;,$str); 
while($row=mysql_fetch_array($result)){ 
    $name = iconv(&#39;utf-8&#39;,&#39;gb2312&#39;,$row[&#39;name&#39;]); 
    $sex = iconv(&#39;utf-8&#39;,&#39;gb2312&#39;,$row[&#39;sex&#39;]); 
    $str .= $name."\t".$sex."\t".$row[&#39;age&#39;]."\t\n"; 
} 
$filename = date(&#39;Ymd&#39;).&#39;.xls&#39;; 
exportExcel($filename,$str);

La fonction exportExcel est utilisée pour définir les informations d'en-tête.

function exportExcel($filename,$content){ 
     header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
    header("Content-Type: application/vnd.ms-execl"); 
    header("Content-Type: application/force-download"); 
    header("Content-Type: application/download"); 
    header("Content-Disposition: attachment; filename=".$filename); 
    header("Content-Transfer-Encoding: binary"); 
    header("Pragma: no-cache"); 
    header("Expires: 0"); 
 
    echo $content; 
}

De plus, pour importer et exporter Excel, vous pouvez également utiliser PHPExcel. C'est très puissant. Vous pouvez l'étudier quand vous avez le temps. /PHPExcel Importation et exportation Avec succès, vous pouvez exporter le format Office2007, et il est compatible avec 2003

Ce qui précède est la (partie avancée) de l'utilisation de PHP pour importer Excel et exporter des données sous forme de fichiers Excel. Pour plus d'informations. contenu, veuillez faire attention au site Web PHP chinois (www.php. cn) !


Déclaration:
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