[Programm] Lesen xls-Dateien mit PHP

Nr. Gravatar

Wie die meisten meiner Post auch diese kommt nicht nur mit der Absicht, einige "Informationen benötigen, um mich, wie ich ein Problem, das fiel mir ein: In der Tat mein Gedächtnis ist in der Regel falsch und Googol gelöst haben daran erinnern, Um die gleichen Informationen finden Sie mehr als einmal gefällt mir nicht sehr viel ^ _ ^

Eine Aktivität, die wir oft zu tun haben, ist zu verarbeiten "on the fly" ein xls-Datei (vielleicht als Folge dell'upload einem Benutzer zur Verfügung) und verwalten die darin enthaltenen Daten (möglicherweise strukturiert, wie wir erwartet nichts anderes ist die Sache unpraktisch ..) zum Beispiel die beliebte Tabellen in einer Datenbank oder einfach nur sehen sie auf unserer Seite.

Nun, die Lösung für dieses Problem einfacher als Sie denken.

Es läuft ein Projekt auf Sourceforge zur Verfügung, dass es über die Klasse ExcelReader alles, was wir machen.

Nachdem die beiden Dateien enthalten reader.php und oleread.inc in unserem Skript, und wir werden bereit sein, den Job machen "schmutzig".

Zunächst initialisieren wir unsere Klasse und dann passiamogli die Datei zu öffnen:

  $ Data-> read ( 'nome_filel.xls'); 

Das nächste, was zu tun ist, ist natürlich eine Schleife für jede Zeile und Spalte Hinweis darauf machen, dass:

  $ Data-> sheets [0] [ 'numRows'];
 $ Data-> sheets [0] [ 'numCols']; 

repräsentieren die Anzahl der Zeilen und Spalten in der Datei xls (insbesondere in den ersten Blatt Papier).
An dieser Stelle können wir den Wert in jeder Zelle Zugang darin enthaltenen ergreifen, die wir mit einem trivialen Matrix zu tun:

  $ Data-> sheets [0] [ 'Zellen'] [$ i] [$ j]; 

Ein Script, der ein Video von Daten aus einer xls-Datei zeigt in tabellarischer Form sind die folgenden:

  <?
 require_once 'Excel / reader.php';
 $ Data = new Spreadsheet_Excel_Reader ();
 $ Data-> setOutputEncoding ( 'CP1251');
 $ Data-> read ( 'nome_file.xls');
 error_reporting (E_ALL ^ E_NOTICE);

 echo "<table>";
 for ($ i = 1, $ i <= $ data-> sheets [0] [ 'numRows'], $ i + +) (
         echo "<tr>";
	 for ($ j = 1, $ j <= $ data-> sheets [0] [ 'numCols'], $ j + +) (
		 echo "<td>. $ data-> sheets [0] [ 'Zellen'] [$ i] [$ j ]."</ td>";
	 )
	 echo "</ tr>";
 )
 echo "</ table>";
 ?> 

PS: Natürlich können Sie auch Schleife auf den Blättern, dass die Datei zu komponieren .. xls

ReBlog diesem Post [mit Zemanta]

Popularity: 8% [?]

Tags:


leave a response , or trackback from your own site. Sie können alle Antworten auf diesen Eintrag durch den RSS 2.0 Feed verfolgen. Sie können ein Antwort, oder einen Trackback auf deiner Seite hinterlassen.

AddThis Social Bookmark Button

Diese Website benutzt IntenseDebate comments, aber sie sind derzeit nicht Denn entweder Ihr Browser unterstützt kein JavaScript, oder sie wurde nicht geladen schnell genug geladen wird.

Lassen Sie eine Antwort