Curs Php-mysql

- PhpExcelReader este o clasa PHP gratuita pentru citire date din fisier Excel in script-uri PHP, fara Microsoft Office. Suporta fisiere de tip XSL si XSLS.

Download PhpExcelReader.
 

Aceasta clasa e utila pentru fisiere excel de marime mica si medie (cativa MB), deoarece citeste intreg fisierul odata, iar in cazul fisierelor prea mari va ajunge la depasirea memoriei alocate PHP-ului. In acest caz este indicat sa transformati datele din fisierul excel in format CSV, apoi sa le utilizati in PHP.


Clasa PhpExcelReader retine datele din fisierul excel intr-un array multidimensional, in proprietatea $sheets , accesata cu sintaxa:
$obiectClasa->sheets
- $obiectClasa este instanta de obiect a clasei.

De exemplu, aceasta foaie de fisier excel:
Excel Sheet

Ca sa cititi aceasta pagina cu clasa PhpExcelReader, se foloseste acest cod:
<?php
include 'excel_reader.php'; // include clasa
$excel = new PhpExcelReader; // creaza instanta de obiect a clasei
$excel->read('excel_file.xls'); // citeste datele din fisierul excel

// Test pt. a vedea structura datelor retinute in proprietatea $sheets
echo '<pre>';
var_export($excel->sheets);
echo '</pre>';
Proprietatea $sheets contine acest array:
array (
 0 => array (
 'maxrow' => 0,
 'maxcol' => 0,
 'numRows' => 8,
 'numCols' => 4,
 'cells' => array (
 2 => array ( 2 => 'Web sites data' ),
 4 => array (
 1 => 'Title',
 2 => 'Url',
 3 => 'Visitors',
 4 => 'Accesses'
 ),
 5 => array (
 1 => 'Web Programming Courses',
 2 => 'https://coursesweb.net/',
 3 => '5000',
 4 => '9800'
 ),
 6 => array (
 1 => 'Courses Games and Anime',
 2 => 'https://marplo.net/',
 3 => '6000',
 4 => '22000'
 ),
 7 => array (
 1 => 'PHP: Hypertext Processor',
 2 => 'http://php.net/',
 3 => '30000',
 4 => '92000'
 ),
 8 => array (
 1 => 'Yahoo!',
 2 => 'http://yahoo.com/',
 3 => '100000',
 4 => '650000'
 ),
 ),
 'cellsInfo' => array (
 5 => array (
 3 => array (
 'raw' => 5000,
 'type' => 'unknown'
 ),
 4 => array (
 'raw' => 9800,
 'type' => 'unknown'
 ),
 ),
 6 => array (
 3 => array (
 'raw' => 6000,
 'type' => 'unknown'
 ),
 4 => array (
 'raw' => 22000,
 'type' => 'unknown'
 ),
 ),
 7 => array (
 3 => array (
 'raw' => 30000,
 'type' => 'unknown'
 ),
 4 => array (
 'raw' => 92000,
 'type' => 'unknown'
 ),
 ),
 8 => array (
 3 => array (
 'raw' => 100000,
 'type' => 'unknown'
 ),
 4 => array (
 'raw' => 650000,
 'type' => 'unknown'
 ),
 ),
 2 => array (
 2 => array ( 'colspan' => 3 ),
 ),
 ),
 )
)
- $excel->sheets[0]['numRows'] contine numarul de randuri cu date din prima foaie excel.
- $excel->sheets[0]['numCols'] contine numarul de coloane cu date din prima foaie excel.
- $excel->sheets[0] contine un array multidimensional cu datele din prima pagina excel. Datele sunt stocate in elementul 'cells', iar meta-data intr-un array 'cellsInfo'.
$sheets[index] --> 'cells' --> row --> column --> Valorile interpretate
 --> 'cellsInfo' --> row --> column --> 'type' (Poate fi 'date', 'number', sau 'unknown')
 --> 'raw' (Datele care sunt in celula Excel)

- Numele paginii Excel e retinut in $obiectClasa->boundsheets[index_foaie]['name'] , "index_foaie" e numarul de ordine /de indexare al paginii.


Puteti parcurge elementele din $obiectClasa->sheets ca sa adaugati datele intr-un tabel HTML.

- Iata un exemplu ce creaza tabele HTML cu datele din fiecare pagina Excel.
<?php
include 'excel_reader.php'; // include clasa

// creaza instanta de obiect si citeste fisierul excel
$excel = new PhpExcelReader;
$excel->read('test.xls');

// aceasta functie returneaza un tabel HTML cu datele din array-ul cu pagina excel din $sheet
function sheetData($sheet) {
 $re = '<table>'; // incepe tabelul html

 $x = 1;
 while($x <= $sheet['numRows']) {
 $re .= "<tr>\n";
 $y = 1;
 while($y <= $sheet['numCols']) {
 $cell = isset($sheet['cells'][$x][$y]) ? $sheet['cells'][$x][$y] : '';
 $re .= " <td>$cell</td>\n"; 
 $y++;
 } 
 $re .= "</tr>\n";
 $x++;
 }

 return $re .'</table>'; // incheie si returneaza tabelul html
}

$nr_sheets = count($excel->sheets); // numarul de foi in fisierul excel
$excel_data = ''; // va retine tabelele html cu datele din fiecare foaie

// parcurge elementele cu datele foilor si le adauga in tabele html in $excel_data
for($i=0; $i<$nr_sheets; $i++) {
 $excel_data .= '<h4>Sheet '. ($i + 1) .' (<em>'. $excel->boundsheets[$i]['name'] .'</em>)</h4>'. sheetData($excel->sheets[$i]) .'<br/>'; 
}

echo $excel_data; // afiseaza /transmite tabelele html

- In arhiva cu clasa PhpExcelReader este un fisier excel pentru test, "test.xls", si doua fisiere php cu exemple de utilizare a clasei.
• Aceasta clasa e o versiune modificata pentru PHP 5.3+ a clasei Spreadsheet_Excel_Reader de la: PHP-ExcelReader Web Site.
 

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce element HTML adauga continut flash SWF in pagina web?
<object> <div> <script>
<object type="application/x-shockwave-flash" data="file.swf" width="500" height="250">
 <param name="src" value="file.swf" />
 Browser-ul dv. nu suporta SWF.
</object>
Care pseudo-clasa CSS adauga un stil la un camp input de formular cand e cursorul in el?
:active :focus :hover
input:focus {
  background-color: #88fe88;
}
Clic pe instructiunea care transforma un sir JSON in obiect JavaScript.
JSON.stringify(javascript_object) object.toString() JSON.parse(json_string)
var jsnstr = '{"url": "http://coursesweb.net/", "title": "Web Development Courses"}';
var obj = JSON.parse(jsnstr);
alert(obj.url);
Indicati functia PHP care poate crea sau scrie un fisier pe server.
fopen() file_put_contents() file_get_contents()
if (file_put_contents("file.txt", "content")) echo "Fisierul a fost creat";
else echo "Fisierul nu poate fi creat";
Cum se spune "al treilea" in engleza?
threeth third three
I planted the third tree.
- Am plantat al treilea pom.
Cum se spune "al treilea" in spaniola?
segundo tres tercero
Yo planté el tercero árbol.
- Am plantat al treilea pom.
Citeste date din fisier Excel in PHP - PhpExcelReader

Last accessed pages

  1. Por si Para (4141)
  2. Gramatica limbii spaniole. Indrumator si prezentare generala (70698)
  3. Curs si Tutoriale JavaScript (135042)
  4. Articole definite si nedefinite 1 (6197)
  5. Trecut perfect si Trecutul perfect continuu - Past perfect and Continuous (58258)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (256)
  2. Gramatica limbii engleze - Prezentare Generala (138)
  3. Gramatica limbii spaniole. Indrumator si prezentare generala (131)
  4. Coduri pt culori (120)
  5. Cursuri limba engleza gratuite si lectii online (101)