|
[ Autoren gesucht! ]
|
PHP-Homepage.de sucht laufend Autoren für News und Artikel
Interesse?
|
|
 |
|
[Start] [Suche] [Neue Einträge]
| Excel Tabellenimport | <?PHP
/* ************************* Excelimport **************************************************************
* Importiert eine Tabelle, die z.B. aus Excel als Textdatei mit Tabs als Trennzeichen
* abgespeichert wurde.
* Formatiert sich selbst und definiert die erste Zeile als Überschriftenzeile.
* Im Bereich Datendeklarationen wird der Dateiname eingetragen.
* Die Datei muss als erste Zeile Überschriften sprich Feldbezeichner enthalten.
*
* Author Ralph Rathmann, ralph@rathmann-hh.de
* Erstellt 07.11.2001 Version 0.8
* Copyright: macht damit, was Ihr wollt
********************************************************************************************************
*/
// Datendeklarationen:
$dateiname = "daten/tabelletabs.txt";
$tableformatierung = "bgcolor=\"#eeeeee\" align=center border=1 cellspacing=0 cellpadding=5";
$thformatierung = "bgcolor=\"#0000ff\" height=30"; //Überschriftenzeile der Tabelle
$tdformatierung = "bgcolor=\"#eeeeee\"";
$blocktrennerformatierung = "height=1 bgcolor=\"#0000ff\"";
$bildspalte = "Bild"; // In welcher Spalte steht ein Verweis auf eine Bilddatei
$bildbreite = "200"; // in Pixeln
$bildverzeichnis = "bilder"; // in welchem Verzeichnis stehen die Bilder (ohne slash) Auch leer.gif muss hier stehen!
$blocktrenner = "Ort"; // steht in dieser Spalte in der jeweiligen Zelle ein Eintrag, wird eine Trennzeile eingefügt
$blocktrennerimg = "<img src=\"$bildverzeichnis/leer.gif\" width=1 height=1 border=0>"; // oder einfach
// Funktionen:
function checksatzfelder ($checkfeld) {
// hier könnten auch weitere Ersetzungen eingebracht werden:
if ($checkfeld == "") {
$checkfeld = " ";
}
return ($checkfeld);
}
// Code
// print ("$dateiname");
if (!($myFile = fopen ($dateiname, "r"))) {
print ("Fehler beim Öffnen von " . "$dateiname" . "\n");
exit;
}
print("<table $tableformatierung>\n");
// Überschriftenzeile:
print("<tr>\n");
if (!feof ($myFile)) {
$myLine = htmlentities(fgets ($myFile , 255));
$satzfelder=explode("\t",$myLine);
for ($n = 0; $n < count($satzfelder); $n++) {
if (trim($satzfelder[$n]) == $bildspalte) {
$nbildcol = $n;
}
if (trim($satzfelder[$n]) == $blocktrenner) {
$nblockcol = $n;
}
$satzfelder[$n] = checksatzfelder($satzfelder[$n]);
print( "<th $thformatierung>$satzfelder[$n]</th>\n" );
}
}
print("</tr>\n");
// Tabelle auslesen: (Aus Excel speichern-unter als "Text (Tabs getrennt)")
while (!feof ($myFile)) {
$myLine = htmlentities(fgets ($myFile , 512));
print ("<tr>\n");
$satzfelder=explode("\t",$myLine);
if ($nspalten < count($satzfelder)) {
$nspalten = count($satzfelder); //Leerzeilen haben nur ein Feld
}
if ((trim($satzfelder[$nblockcol]) != "") and (trim($satzfelder[$nblockcol]) != " ")) {
print ("<tr>\n");
print ("<td $blocktrennerformatierung colspan=$nspalten>$blocktrennerimg</td>\n");
print ("</tr>\n");
}
for ($n = 0; $n < $nspalten; $n++) {
if ($n == $nbildcol) {
if (trim($satzfelder[$n]) == "") {
print( "<td $tdformatierung> </td>\n" );
}
else {
print( "<td $tdformatierung><img src=\"$bildverzeichnis/$satzfelder[$n]\" width=$bildbreite></td>\n" );
}
}
else {
$satzfelder[$n] = checksatzfelder($satzfelder[$n]);
print( "<td $tdformatierung>$satzfelder[$n]</td>\n" );
}
}
print ("</tr>\n");
}
fclose ( $myFile);
print("</table>\n");
?> |
|