php讀取EXCEL文件 php excelreader讀取excel文件_PHP教程
Jul 21, 2016 pm 03:14 PM
php開(kāi)發(fā)中肯定會(huì)遇到將excel文件內(nèi)容導(dǎo)入到數(shù)據(jù)庫(kù)的需要,php-excel-reader是一個(gè)讀取excel的類,可以很輕松的使用它讀取excel文件非常方便。
php-excel-reader下載地址:?http://www.jb51.net/codes/67223.html
我下載的是php-excel-reader-2.21版本,使用的時(shí)候還遇到幾個(gè)小問(wèn)題,后面再細(xì)說(shuō),先奉上php實(shí)例:
我使用的excel如下圖:
php代碼如下:
/*by www.phpddt.com*/
header("Content-Type:text/html;charset=utf-8");
require_once 'excel_reader2.php';
//創(chuàng)建對(duì)象
$data = new Spreadsheet_Excel_Reader();
//設(shè)置文本輸出編碼
$data->setOutputEncoding('UTF-8');
//讀取Excel文件
$data->read("example.xls");
//$data->sheets[0]['numRows']為Excel行數(shù)
for ($i = 1; $i sheets[0]['numRows']; $i++) {
//$data->sheets[0]['numCols']為Excel列數(shù)
for ($j = 1; $j sheets[0]['numCols']; $j++) {
//顯示每個(gè)單元格內(nèi)容
echo $data->sheets[0]['cells'][$i][$j].' ';
}
echo '
';
}
?>
讀取結(jié)果截圖如下:
再來(lái)說(shuō)說(shuō)這個(gè)類的小問(wèn)題:
(1)出現(xiàn)Deprecated: Function split() is deprecated in 。。。錯(cuò)誤
解決:將excel_reader2.php源碼中split改為explode,詳情點(diǎn)擊php中explode與split的區(qū)別介紹
(2)出現(xiàn)Deprecated: Assigning the return value of new by reference is deprecated in錯(cuò)誤
解決:將excel_reader2.php源碼中$this->_ole =& new OLERead()中 &去掉,因?yàn)閜hp5.3中廢除了=& 符號(hào)直接用=引用
(3)亂碼問(wèn)題解決:
構(gòu)造函數(shù)是function Spreadsheet_Excel_Reader($file='',$store_extended_info=true,$outputEncoding=''),它默認(rèn)的編碼是utf-8,如果不指定,可能會(huì)出現(xiàn)亂碼問(wèn)題,可通過(guò)$data->setOutputEncoding('GBK');指定,還有如果你使用dump()函數(shù),dump()函數(shù)將excel內(nèi)容一html格式輸出,使用htmlentities將字符轉(zhuǎn)化為html的,它默認(rèn)使用ISO8559-1編碼的,所以你要將 excel_reader2.php源碼中?htmlentities($val)函數(shù)改為htmlentities($val,ENT_COMPAT,"GB2312");才行。
最后來(lái)說(shuō)說(shuō),php-excel-reader操作excel中的兩個(gè)重要的方法:
1.dump(),它可以將excel內(nèi)容以html格式輸出:
echo $data->dump(true,true);
2.將excel數(shù)據(jù)存入數(shù)組中,使用$data->sheets,打印下如下:
Array
(
[0] => Array
(
[maxrow] => 0
[maxcol] => 0
[numRows] => 5
[numCols] => 4
[cells] => Array
(
[1] => Array
(
[1] => 編號(hào)
[2] => 姓名
[3] => 年齡
[4] => 學(xué)號(hào)
)
[2] => Array
(
[1] => 1
[2] => 小紅
[3] => 22
[4] => a1000
)
[3] => Array
(
[1] => 2
[2] => 小王
[3] => 33
[4] => a1001
)
[4] => Array
(
[1] => 3
[2] => 小黑
[3] => 44
[4] => a1002
)
[5] => Array
(
[2] => by
[3] => www.phpddt.com
)
)
[cellsInfo] => Array
(
[1] => Array
(
[1] => Array
(
[xfIndex] => 15
)
[2] => Array
(
[xfIndex] => 15
)
[3] => Array
(
[xfIndex] => 15
)
[4] => Array
(
[xfIndex] => 15
)
)
[2] => Array
(
[1] => Array
(
[string] => 1
[raw] => 1
[rectype] => unknown
[format] => %s
[formatIndex] => 0
[fontIndex] => 0
[formatColor] =>
[xfIndex] => 15
)
[2] => Array
(
[xfIndex] => 15
)
[3] => Array
(
[string] => 22
[raw] => 22
[rectype] => unknown
[format] => %s
[formatIndex] => 0
[fontIndex] => 0
[formatColor] =>
[xfIndex] => 15
)
[4] => Array
(
[xfIndex] => 15
)
)
[3] => Array
(
[1] => Array
(
[string] => 2
[raw] => 2
[rectype] => unknown
[format] => %s
[formatIndex] => 0
[fontIndex] => 6
[formatColor] =>
[xfIndex] => 23
)
[2] => Array
(
[xfIndex] => 23
)
[3] => Array
(
[string] => 33
[raw] => 33
[rectype] => unknown
[format] => %s
[formatIndex] => 0
[fontIndex] => 6
[formatColor] =>
[xfIndex] => 23
)
[4] => Array
(
[xfIndex] => 23
)
)
[4] => Array
(
[1] => Array
(
[string] => 3
[raw] => 3
[rectype] => unknown
[format] => %s
[formatIndex] => 0
[fontIndex] => 0
[formatColor] =>
[xfIndex] => 15
)
[2] => Array
(
[xfIndex] => 15
)
[3] => Array
(
[string] => 44
[raw] => 44
[rectype] => unknown
[format] => %s
[formatIndex] => 0
[fontIndex] => 0
[formatColor] =>
[xfIndex] => 15
)
[4] => Array
(
[xfIndex] => 15
)
)
[5] => Array
(
[2] => Array
(
[xfIndex] => 15
)
[3] => Array
(
[xfIndex] => 24
[hyperlink] => Array
(
[flags] => 23
[desc] => www.phpddt.com
[link] => http://www.phpddt.co
)
)
)
)
)
[1] => Array
(
[maxrow] => 0
[maxcol] => 0
[numRows] => 0
[numCols] => 0
)
[2] => Array
(
[maxrow] => 0
[maxcol] => 0
[numRows] => 0
[numCols] => 0
)
)
這樣你應(yīng)該知道怎么取excel中的數(shù)據(jù)了,好了,使用php-excel-reader讀取excel文件就是這么簡(jiǎn)單

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

STD :: CHRONO wird in C verwendet, um die Zeit zu verarbeiten, einschlie?lich des Erhaltens der aktuellen Zeit, der Messung der Ausführungszeit, der Betriebszeit und -dauer und der Formatierungsanalysezeit. 1. Verwenden Sie std :: chrono :: system_clock :: Now (), um die aktuelle Zeit zu erhalten, die in eine lesbare Zeichenfolge konvertiert werden kann, aber die Systemuhr ist jedoch m?glicherweise nicht eint?nig. 2. Verwenden Sie STD :: Chrono :: Steady_clock, um die Ausführungszeit zu messen, um die Monotonie zu gew?hrleisten, und umwandeln Sie sie durch Duration_cast in Millisekunden, Sekunden und andere Einheiten; 3. Zeitpunkt (Time_Point) und Dauer (Dauer) k?nnen interoperabel sein, aber die Aufmerksamkeit der Einheitenkompatibilit?t und der Uhr -Epoche (Epoche) sollte beachtet werden.

ToaccessesvironmentvariableSinphp, useGetEnv () orthe _envSuperglobal.1.getenv ('var_name') ruftaspecificVariable.2. $ _ EN V ['var_name'] AccessesVariablesifvariables_OrderInphp.iniincludes "e" .setvariablesviacliwithvar = ValuePhpScript.php, Inapach

Die Methode zur Verwendung von Vorverarbeitungsanweisungen, um die Datenbankabfrage zu erhalten, führt zu PHP von der Erweiterung. 1. Bei der Verwendung von MySQLI k?nnen Sie das assoziative Array über Get_Result () und fetch_assoc () erhalten, was für moderne Umgebungen geeignet ist. 2. Sie k?nnen auch Bind_result () verwenden, um Variablen zu binden, was für Situationen geeignet ist, in denen es nur wenige Felder und feste Strukturen gibt, und es ist eine gute Kompatibilit?t, aber es gibt viele Felder, wenn es viele Felder gibt. 3. Bei Verwendung von PDO k?nnen Sie das assoziative Array über Fetch (pdo :: fetch_assoc) erhalten oder Fetchall () gleichzeitig erhalten, damit die Schnittstelle einheitlich ist und die Fehlerbehandlung klarer ist. Darüber hinaus müssen Sie auf die Parametertyp -übereinstimmung, die Ausführung von Execute (), die rechtzeitige Ver?ffentlichung von Ressourcen und die Aktivierung von Fehlerberichten achten.

In PHP k?nnen Sie eine Vielzahl von Methoden verwenden, um festzustellen, ob eine Zeichenfolge mit einer bestimmten Zeichenfolge beginnt: 1. Verwenden Sie Strncmp (), um die ersten N -Zeichen zu vergleichen. Wenn 0 zurückgegeben wird, passt der Anfang überein und sind nicht sensibel; 2. Verwenden Sie Strpos (), um zu prüfen, ob die Substringposition 0 ist, was für Fall empfindlich ist. Stripos () kann stattdessen verwendet werden, um Fall unempfindlich zu erreichen; 3.. Sie k?nnen die Funktion startsWith () oder str_starts_with () zusammenschlie?en, um die Wiederverwendbarkeit zu verbessern. Darüber hinaus ist zu beachten, dass leere Zeichenfolgen standardm??ig true, codierende Kompatibilit?ts- und Leistungsunterschiede, sTRNCMP () in der Regel effizienter.

Es gibt drei wichtige M?glichkeiten, um den Fehler "undefinedIndex" zu vermeiden: Verwenden Sie zun?chst ISSET (), um zu überprüfen, ob der Array -Schlüssel existiert, und sicherzustellen, dass der Wert nicht null ist, was für die meisten gemeinsamen Szenarien geeignet ist. Zweitens verwenden Sie Array_key_exists (), um nur zu bestimmen, ob der Schlüssel vorhanden ist, was für Situationen geeignet ist, in denen der Schlüssel nicht existiert und der Wert null ist. Verwenden Sie schlie?lich den leeren Merge -Operator? (Php7) Um den für modernen PHP -Projekte empfohlenen Standardwert genau festzulegen und auf die Schreibweise der Feldnamen des Formulars zu achten, verwenden Sie extract () und überprüfen Sie, ob das Array nicht leer ist, bevor Sie durchqueren, um Risiken weiter zu vermeiden.

Bei Verwendung von PHP -Vorverarbeitungsanweisungen zur Ausführung von Abfragen mit in Klauseln erzeugen 1. dynamisch Platzhalter gem?? der L?nge des Arrays; 2. Wenn Sie PDO verwenden, k?nnen Sie das Array direkt übergeben und Array_values verwenden, um kontinuierliche Indizes zu gew?hrleisten. 3. Bei Verwendung von MySQLI müssen Sie Typ -Zeichenfolgen konstruieren und Parameter binden, auf die Art und Weise achten, die Kompatibilit?t von Array und Version zu erweitern. 4. Vermeiden Sie das Splei?en von SQL, die Verarbeitung leerer Arrays und stellen Sie sicher, dass Datentypen übereinstimmen. Die spezifische Methode ist: Verwenden Sie zuerst Implode und Array_Fill, um Platzhalter zu generieren, und binden dann Parameter nach den erweiterten Eigenschaften, um in Abfragen sicher auszuführen.

Die wichtigsten Schritte zur Installation von PHP unter Windows sind: 1. Laden Sie die entsprechende PHP -Version herunter und dekomprimieren Sie sie. Es wird empfohlen, die ThreadSafe -Version mit Apache oder NonThreadsafe -Version mit Nginx zu verwenden. 2. Konfigurieren Sie die Php.ini-Datei und benennen Sie php.ini-Entwicklung oder php.ini-Produktion in Php.ini um; 3. Fügen Sie den PHP -Pfad zum Variablenpfad der Systemumgebung hinzu, um die Befehlszeilenkonsum zu erhalten. V. 5. Wenn Sie Apache verwenden, müssen Sie P in httpd.conf konfigurieren
