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
Care tag se foloseste in <table> pentru a crea celula de tip "header"?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Ce proprietate CSS seteaza distanta dintre randuri?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Care functie deschide o noua fereastra.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicati functia PHP care returneaza un array cu numele fisierelor si directoarelor dintr-un director.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
Care din urmatoarele forme a verbului "sleep" (a dormi) se foloseste pentru viitor?
sleeping slept will sleep
He will sleep there.
- El va dormi acolo.
Care din urmatoarele forme a verbului "dormir" (a dormi) se foloseste pentru viitor?
dormido dormirá durmiendo
Él dormirá allí.
- El va dormi acolo.
Citeste date din fisier Excel in PHP - PhpExcelReader

Last accessed pages

  1. Viitor simplu - Exercitii si teste incepatori (12159)
  2. Cursuri Limba Rusa (5749)
  3. Timpul present (2294)
  4. Notiuni fundamentale despre bazele de date SQL (10742)
  5. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (271991)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (788)
  2. Cursuri limba engleza gratuite si lectii online (348)
  3. Coduri pt culori (347)
  4. Gramatica limbii engleze - Prezentare Generala (337)
  5. Exercitii engleza - English Tests and exercises - Grammar (314)