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 atribut indica faptul ca un camp de formular trebuie completat?
required="required" autofocus="autofocus" placeholder="text"
<input type="text" name="name1" required="required" />
Ce metoda CSS misoreaza sau mareste dimensiunile unui element (inclusiv continutul)?
translate() scale() skew()
#some_id:hover {
  transform: scale(2, 1.5);
  -ms-transform: scale(2, 1.5);    /* IE 9 */
  -moz-transform: scale(2, 1.5);   /* Firefox */
}
Click pe metoda obiectului Date care returneaza ziua din luna.
setDate() getMonth() getDate()
var rightnow = new Date();
var day = rightnow.getDate();
alert(day);
Ce functie este folosita pentru a incarca un fisier pe server?
is_file() move_uploaded_file() fopen()
if(move_uploaded_file($_FILES["field_name"]["tmp_name"], "dir/file_name")) {
  echo "Fisierul a fost incarcat";
}
Cum se spune in engleza expresia: "Ploua cu galeata"?
rain cats and dogs rain buckets quiet rain
In Bucharest it`s raining cats and dogs.
- In Bucuresti ploua cu galeata.
Cum se spune in spaniola expresia: "Ploua cu galeata"?
llover cubo llover a cántaros lluvia tranquila
En Madrid está lloviendo a cántaros.
- In Madrid ploua cu galeata.
Citeste date din fisier Excel in PHP - PhpExcelReader

Last accessed pages

  1. Proverbe, expresii si zicatori (24997)
  2. Numere cardinale 1-10 (5120)
  3. Ferestre Alert Prompt si Confirm (3321)
  4. Accentul si Pronuntia (28913)
  5. Numere ordinare (1969)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (194)
  2. Coduri pt culori (104)
  3. Gramatica limbii engleze - Prezentare Generala (100)
  4. Gramatica limbii spaniole. Indrumator si prezentare generala (87)
  5. Cursuri limba engleza gratuite si lectii online (77)