PHP – pretvorba Excel datoteke v .txt datoteko – Excel to txt converter
Sedaj, ko poznamo način kako prebrati Excel datoteko se lahko lotimo tudi pretvorbe Excel datoteke v poljuben format, na primer .txt. Zakaj bi to potrebovali, če je Excel boljši način za urejanje / pregled podatkov? Omenjena funkcionalnost pride prav, ko moramo komunicirati s tretjim programom, ki ne podpira branje Excel datoteke ampak le branje .txt datoteke, kjer je vsak stolpec ločen s tabom (\t) in vsaka vrstica ločena s znakom za novo vrstico (\n).
O branju Excela tukaj ne bomo izgubljali besede, celotni postopek je bil enkrat že opisan. Predpostavimo, da imamo v $data spremenljivki celotno vsebino Excel datoteke. Nato s pomočjo PHP foreach konstrukta prečesamo celotno tabelo (array) in zapisujemo podatke v Text (Tab-Delimited) File formatu:
-
// Transform excel file to .txt file - add BOM char at the start
-
// only for wordpad - notepad UTF8 support
-
$textFile = "\xEF\xBB\xBF";
-
-
foreach($data as $row) {
-
// Get last key
-
-
foreach($row as $key => $field) {
-
$textFile .= $field;
-
-
if ($key != $lastKey) {
-
$textFile .= "\t";
-
}
-
}
-
-
$textFile .= "\n";
-
}
-
-
file_put_contents('test.txt', $textFile);
Zakaj pa dodamo "\xEF\xBB\xBF" (BOM znak) na začetu stringa? Zato, da wordpad oz. notepad pravilno zaznata encoding datoteke. BOM znak lahko izpustimo vendar moramo datoteko nato prebrati s programom, ki samodejno prepozna encoding brez pomoči BOM znaka, kot na primer Zend Studio. Primer, kaj se zgodi, če ne vključimo BOM znaka in datoteko (.txt) preberemo s WordPad programom:

Ker dodamo BOM znak na začetku je ZELO POMEMBNO, da ga pri branju podatkov tudi upoštevamo, primer:
-
// If there is BOM char at the begining, clear it
-
}
Drugače boste dobivali zelo čudne napake / rezultate. Več o teh težavah povezanih z BOM znakom.
Dodatne informacije:
Datoteke:
- PHP skripta, ki skrbi za pretvorbo Excel datoteke v .txt datoteko - UTF8 podpora (.inc format)
- Test.txt datoteka - kreira PHP ob koncu pretvorbe
- Testni excel, ki ga pretvorimo v .txt datoteko
Podobni članki:
- PHP – Kreiranje Excel datoteke – Pisanje v Excel datoteko – PHP – xls
- Preprosta skripta – kreiranje Excel datoteke iz PHP tabele/array
- PHP – branje Excel (.xls) datoteke – Excel UTF8 branje
- Shrani datoteko / Odpri datoteko dialog – download center (mime-type, Content-type, Content-Disposition)
- PHP – Kreiranje PDF datoteke – DOMPDF – TCPDF
- PHP – kako ugotoviti tip datoteke (get file extension type)
- Absolutna / relativna pot do imenika – datoteke
- PHP – ZenCart – utf8 – slovenski jezik – slovenski prevod – pretvorba jezikov
- Omejitev dostopa do spletne strani preko apache .htaccess in .htpasswd datoteke
- Predogled PDF-ja – pretvorba PDF v jpeg s pomočjo PHP-ja




June 10th, 2008 ob 12:04 am
[...] PHP - pretvorba Excel datoteke v .txt datoteko - Excel to txt converter [...]