Archiv verlassen und diese Seite im Standarddesign anzeigen : excel zeilen/zellen anzeigen lassen
Hallo, gleich vorab ich bin blutiger anfänger in sachen PHP
also ich habe mir ein script runtergeladen
der PHP excel Reader (http://code.google.com/p/php-excel-reader/)
ich weiß nicht wem es bekannt ist...
das funktioniert auch ganz gut ich kann meine excel tabelle anzeigen lassen
allerdings möchte ich nun das script mit wenig aufwand so abändern können das es entweder nur bestimmte Zeilen (z.b. Zeile 5-10) oder bestimmte zellen aus der excel datei anzeigt.
was auch ginge und viel besser ist nur die zeilen anzeigen zu lassen die in einer spalte ein von mir ausgewählten bestimmten wert haben was wohl nicht zu realisieren ist
ich hab schon ne weile rumgebastelt und versucht das script einigermaßen zu verstehen aber ich habe bisher in php noch nichts so kompliziertes angepackt und komme wirklich nicht weiter
ich will nicht nach einer lösung fragen aber ich glaube auch ansätze würden mir nicht weiterhelfen weil das script für mich größtenteils aus kauderwelsch besteht
ich hoffe einer kann mir helfen, danke im vorraus
AmicaNoctis 09-11-2009, 18:26 Hallo,
ein kurzer Blick in die Doku offenbart
Retrieve the formatted value of a cell (what is displayed by Excel) on the first (or only) worksheet:
$data->val($row,$col)
Also kannst du dort rausholen, was bzw. von wo bis wo du möchtest:
$data = new Spreadsheet_Excel_Reader("SOMESPREADSHEET.xls");
for ($row = 5; $row < 10; $row++) {
for ($col = 10; $col < 20; $col++) {
echo($row . "/" . $col . ": " . $data->val($row, $col) . " (RAW: " . $data->raw($row, $col) . ")\n");
}
}
Gruß,
Amica
code-kobold 09-11-2009, 18:29 Im Wiki zum Package steht unter 'Accessing Cell Values':
You can also use column names rather than numbers:
$data->val(10,'AZ')Also kannst Du z.b. über dein Sheet iterieren und damit sowohl zeilen- oder spaltenweise Ausgabe erzeugen oder den Rückgabewert validieren.
GZ,
Ron
Im Wiki zum Package steht unter 'Accessing Cell Values':
You can also use column names rather than numbers:
$data->val(10,'AZ')Also kannst Du z.b. über dein Sheet iterieren und damit sowohl zeilen- oder spaltenweise Ausgabe erzeugen oder den Rückgabewert validieren.
GZ,
Ron
ok großes danke für die antoworten
^^ wo geb ich das genau ein und wie gebe ich jetzt das z.b. alle zeilen angezeigt werden wo in irgendeiner spalte z.b. Bereich 2 drin steht, also ich brauch nur ein beispiel um den code zu verstehen
bei der ersten lösung bekomm ich nach dem einbinden eine fehlermeldung
Parse error: syntax error, unexpected '(', expecting T_STRING or T_VARIABLE or '{' or '$' in /srv/www/httpd/phost/a/de/pytalhost/accs-dienst/web/intern/einsatzplan.php on line 7
code-kobold 11-11-2009, 14:44 Hast du Amicas Code-Beispiel ausprobiert?
Poste deinen Code, wenns nicht zu umfangreich ist.
GZ,
Ron.
also so sieht es im moment aus
<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once '/srv/www/httpd/phost/a/de/pytalhost/accs-dienst/web/includes/common.php';
$data = new Spreadsheet_Excel_Reader('/.../einsatzplan.xls');
?>
<html>
<head>
<br>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr><td colspan="2"><img src="/.../"></td></tr>
<tr><td>
<br>
<br>
<input type="submit" onClick="location.href='/.../'" value="Zurück" />
<br>
<br>
<br>
<style>
table.excel {
border-style:ridge;
border-width:1;
border-collapse:collapse;
font-family:sans-serif;
font-size:12px;
}
table.excel thead th, table.excel tbody th {
background:#CCCCCC;
border-style:ridge;
border-width:1;
text-align: center;
vertical-align:bottom;
}
table.excel tbody th {
text-align:center;
width:20px;
}
table.excel tbody td {
vertical-align:bottom;
}
table.excel tbody td {
padding: 0 3px;
border: 1px solid #EEEEEE;
}
</style>
</head>
<body>
<?php
echo $data->dump(true,true);
?>
</body>
</html>
ganz unten lass ich es ausgeben und ich möchte es am besten so haben das nur die zeilen angezeigt werden wo in irgendeiner spalte bereich 2 steht, spaltenzahl die angezeigt wird möchte ich natürlich begrenzen
AmicaNoctis 11-11-2009, 16:03 Oh, dass das mit HTML nichts zu tun hat, weißt du aber?!? Eine Tabelle (die nirgends geschlossen wird) innerhalb von head hab ich auch noch nicht gesehen ;)
jaja die html gacke dazwischen macht bloß die formatierung mehr net es geht darum die daten auszugeben das ich nicht die ganze tabelle ausgeben will leider kommt bei deinem beispiel eine fehlermeldung die ich oben schon gepostet habe
AmicaNoctis 11-11-2009, 17:18 Hab das Beispiel korrigiert.
danke fürs korrigieren aber er zeigt mir nicht den tabelleninhalt an sondern nur:
5/10: (RAW: ) 5/11: (RAW: ) 5/12: (RAW: ) 5/13: (RAW: ) 5/14: (RAW: ) 5/15: (RAW: ) 5/16: (RAW: ) 5/17: (RAW: ) 5/18: (RAW: ) 5/19: (RAW: ) 6/10: (RAW: ) 6/11: (RAW: ) 6/12: (RAW: ) 6/13: (RAW: ) 6/14: (RAW: ) 6/15: (RAW: ) 6/16: (RAW: ) 6/17: (RAW: ) 6/18: (RAW: ) 6/19: (RAW: ) 7/10: (RAW: ) 7/11: (RAW: ) 7/12: (RAW: ) 7/13: (RAW: ) 7/14: (RAW: ) 7/15: (RAW: ) 7/16: (RAW: ) 7/17: (RAW: ) 7/18: (RAW: ) 7/19: (RAW: ) 8/10: (RAW: ) 8/11: (RAW: ) 8/12: (RAW: ) 8/13: (RAW: ) 8/14: (RAW: ) 8/15: (RAW: ) 8/16: (RAW: ) 8/17: (RAW: ) 8/18: (RAW: ) 8/19: (RAW: ) 9/10: (RAW: ) 9/11: (RAW: ) 9/12: (RAW: ) 9/13: (RAW: ) 9/14: (RAW: ) 9/15: (RAW: ) 9/16: (RAW: ) 9/17: (RAW: ) 9/18: (RAW: ) 9/19: (RAW: )
desweiteren geht mir auch die formatierung verloren
wenn ich das andere beispiel benutze
$data->val(10,'AZ')
kann ich leider zur der zeile nicht alle spalten ausgeben oder begrenzen und wenn doch weiß ich nicht wie
aber auch hier geht die formatierung verloren die daten müssen vorher gedumpt werden mit
echo $data->dump(true,true);
natürlich ohne echo oder?
AmicaNoctis 11-11-2009, 17:47 Bitte nicht falsch verstehen, aber wenn elementare Grundkenntnisse fehlen, wirst du wohl konkrete Hilfe brauchen.
Dein gewünschtes Beispiel hast du bekommen. Wenn du das nicht selbst an deine Bedürfnisse angepasst bekommst, kann ich den Thread entweder in die Projekthilfe verschieben, oder du stellst es als Jobangebot rein und beschreibst darin ganz genau, was du gemacht haben willst.
Also: wie soll es weiter gehen?
du kannst es gerne in die pojekthilfe verschieben ich will das ding wirklich fertig bekommen
das problem ist einfach nur wenn es jetzt ne SQL datenbank wäre dann wäre das alles kein ding bloß ich hab mich nie damit beschäftigt irgendwelche optischen formatierungen vorzunehmen oder generell dateien hier zeilenweise auszugeben oder an einen bestimmten wert innerhalb der datei fest zu machen aber in diesem fall muss ich das weil die excel tabel soll einfach nur hochgeladen werden können und der rest soll das script alleine machen
ich hab mir auch schon gedacht diese tabelle einfach die tabelle in eine ODBC datenquelle umzuwandeln und das dann einfach mit select befehl auslesen
aber für die leute die ich es brauche naja das sind halt excel menschen
EDIT: oder kennst du eine möglichkeit mit hilfe von php eine excel tabelle in sql umzuwandeln
|