Heim >Backend-Entwicklung >PHP-Tutorial >(Fortgeschritten) Verwenden Sie PHP, um Excel zu importieren und Daten in Excel-Dateien zu exportieren

(Fortgeschritten) Verwenden Sie PHP, um Excel zu importieren und Daten in Excel-Dateien zu exportieren

黄舟
黄舟Original
2017-02-07 09:38:471867Durchsuche

Manchmal ist es notwendig, Excel-Tabellendaten in eine MySQL-Datenbank zu importieren. Wir verwenden PHP-ExcelReader, ein Open-Source-Projekt von PHP, um den Excel-Import einfach zu erreichen.

1. XLS importieren

PHP-ExcelReader Dies ist ein Open-Source-Projekt, das hauptsächlich zum Parsen von Excel-Dateien verwendet wird. Sie können zu http://sourceforge.net/projects/phpexcelreader gehen die neueste Version des Quellcodes. Entpacken Sie es nach dem Herunterladen und verwenden Sie hauptsächlich die beiden Dateien reader.php und oleread.inc im Excel-Ordner.

XLS-Verarbeitungsprozess importieren: XLS-Datei auswählen – XLS-Datei auf den Server hochladen – Excel über PHP-ExcelReader analysieren – Batch-Speicherung.

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;; 
    } 
}

Nachdem PHP-ExcelReader die hochgeladene Excel-Datei gelesen hat, gibt es ein Array zurück, das alle Informationen der Tabelle enthält. Sie können eine Schleife ausführen, um die erforderlichen Informationen zu erhalten.

XLS exportieren

XLS-Prozess: Schülerinformationstabelle lesen – > Schleifendatensatz erstellen – > nach lokal

$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);

Die exportExcel-Funktion wird zum Festlegen von Header-Informationen verwendet.

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; 
}

Außerdem können Sie zum Importieren und Exportieren von Excel auch PHPExcel verwenden. Sie können es studieren, wenn Sie Zeit haben /PHPExcel Sowohl Import als auch Export können erfolgreich im Office2007-Format exportiert werden, und es ist mit 2003 kompatibel

Das Obige ist (erweiterter Teil) der Inhalt der Verwendung von PHP zum Importieren von Excel und Exportieren von Daten in Excel-Dateien Verwandte Inhalte, achten Sie bitte auf die chinesische PHP-Website (www.php. cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn