PHP und Exeltabellen also xls Datein verarbeiten..

mydoys.de

Well-known member
ID: 84968
L
20 April 2006
2.743
123
Hey Jungs und Mädels ich arbeite derzeit mit exel Datein in diesen sind ein Haufen Daten enthalten aber nur ein paar benötige ich zur Weiterbearbeitung ich suche deswegen mal wieder eure Hilfe.

Erste Info das ist absolutes Neuland für mich aber dennoch habe ich mich natürlich schon über einige Dinge Informiert.

Zweite Info:
Ich habe eine Klasse gefunden diese hier https://code.google.com/p/php-excel-reader/

Ich bin derzeit soweit:
PHP:
<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once 'excel_reader2.php';
$data = new Spreadsheet_Excel_Reader("2011.xls");
for ($row = 2; $row < 106; $row++) {
for ($col = 3; $col < 9; $col++) {
echo(",".$data->val($row,$col)."");
}
}
?>
HTML:
HTML UND CSS CODE
PHP:
<?php echo $data->dump(true,true); ?>

Das was angezeigt wird ist zu 80% richtig damit könnte ich schon arbeiten nur möchte ich es etwas genauer haben..

Zur Exeldatei (es sind mehre Verschiedene)
Diese hat 30 Zeilen (von Links nach Rechts)
Und mehr als 100 Spalten (von oben bis unten)

Ich benötige eigentlich nur das was in 3-9 Steht das macht mein Script und setzt auch schön die Kommas.
Ich würde gerne zur Verschönerung mir alles anzeigen lassen von 3-9 und nur das was in der 1 Steht.

3-9 = zahlen zwischen 1-49
1 = Ein Datum
Denn Rest benötige ich so nicht..


Meine Anzeige derzeit ist "Hässlich" bsp:
49,46,36,29,24,42,27,26,33,41,32,23, 8,23, 2,22,12,28,13,12,33,21,26,38, 6, 8,35,29, 5,34, 3,23, 7,35,19,14,34,22,23,37,28, 6,35,30, 8,11,45,21,15,17, 6,46,34,22,11,41,34,24, 9,35,46,41,23,13,39,14, 1, 2,32,24,31

Ich würde es gerne so haben wollen:
49,46,36,29,24,42 01.01.1970
27,26,33,41,32,23 01.01.1970
8,23, 2,22,12,28 01.01.1970
13,12,33,21,26,38 01.01.1970
6, 8,35,29, 5,34 01.01.1970
Ja immer 6 Zahlen dann das Datum aus 1

Grund dafür ich möchte dieses in eine MYSQL Datenbank einarbeiten.

PHP:
MYSQL_QUERY("INSERT INTO zahlen_archive (zahlen,datum) VALUES('$AUSEXCEL_Zahlen','$AUSEXCEL_Datum')"); mysql_error();

Ich hoffe ich könnte es gut erklären auf was ich hinaus will.
 
dann solltest Dunichts über dump ausgeben, oder die Funktion Dump dir mal anschauen und eine zweite eigenen Version schreiben, in der halt nach denersten 6 Werten das Datum folgt und ein Zeilenumbruch.

Wo bekomme ich denn die Datei 'excel_reader2.php' her ?
Dann könnte man sich die mal anschauen!
 
dann solltest Dunichts über dump ausgeben, oder die Funktion Dump dir mal anschauen und eine zweite eigenen Version schreiben, in der halt nach denersten 6 Werten das Datum folgt und ein Zeilenumbruch.

Wo bekomme ich denn die Datei 'excel_reader2.php' her ?
Dann könnte man sich die mal anschauen!

Ok ist ne Antwort :)
Ich gehe dem mal nach, klingt für mich nicht hilfreich aber nicht schlimm..
Zu deiner Frage: (habe den Link zur Klasse gepostet)
Link : https://code.google.com/p/php-excel-reader/downloads/list
Wenn du nicht Downloaden möchtest:

Code ist zu lang deswegen so:
https://www.mydoys.de/excel_reader2.txt
 
PHP:
print_r($data);[/url]

$data ist ein Array mit allen Informationen, du musst also nur ganz simple Logik nutzen und die Indizes ansprechen, die du benötigst (erst vor kurzem wieder damit gearbeitet)
 
@mydoys:

Wäre natürlich auch somöglich, wie ice sagt.
Einen Zähler nutzen...

Code:
$a = 0; #Zähler
$i = 0; #Array-Index

while ( $i != count($data) ) {
       echo $data[$i];
       if ( $a <= 5 ) { echo ","; $a++; } 
          else { echo $datum."</br>"; $a = 0; }
}

naja so ungefähr ;)

mir ist grad ein Fehler in der Datei aufgefallen:
In der dump ausgabe steht folgendes:
...
0x0D => "Slanted medium dash-dotted"
...
"Slanted medium dash-dotte" => "2px dashed"
...

Da fehlt ein "d" an "dotte(d)" in der 2 Zeile.
Wer das noch nicht verbessert hat, sollte es tun oder auch nicht ;)

@ice:
Weißt Du warum GetInt4d() 2 mal in der Datei steht ?
Einmal in der Klasse ok, aber warum nochmal davor ?
 
Zuletzt bearbeitet: