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 tag se foloseste pentru a adauga liste in elemente <ul> si <ol>?
<dt> <dd> <li>
<ul>
 <li>http://coursesweb.net/html/</li>
 <li>http://www.marplo.net/html/</li>
</ul>
Care valoare a proprietatii "display" seteaza elementul ca tip bloc si afiseaza un punct in fata?
block list-item inline-block
.some_class {
  display: list-item;
}
Care instructiune JavaScript transforma un obiect in sir JSON.
JSON.parse() JSON.stringify eval()
var obj = {
 "courses": ["php", "javascript", "ajax"]
};
var jsonstr = JSON.stringify(obj);
alert(jsonstr);    // {"courses":["php","javascript","ajax"]}
Indicati clasa PHP folosita pentru a lucra cu elemente HTML si XML in PHP.
stdClass PDO DOMDocument
$strhtml = '<body><div id="dv1">CoursesWeb.net</div></body>';
$dochtml = new DOMDocument();
$dochtml->loadHTML($strhtml);
$elm = $dochtml->getElementById("dv1");
echo $elm->nodeValue;    // CoursesWeb.net
Indicati forma de Prezent Continuu a verbului "to live" (a trai /a locui)
lived living liveing
I`m living here.
- Traiesc /Locuiesc aici.
Care este forma de Gerunziu (sau Participiu Prezent) a verbului "vivir" (a trai /a locui)?
vivió vivido viviendo
Estoy viviendo aquí.
- Traiesc /Locuiesc aici.
Citeste date din fisier Excel in PHP - PhpExcelReader

Last accessed pages

  1. Por si Para (3803)
  2. Viitoru continuu - Exercitii si teste incepatori (6731)
  3. Prezentul continuu - Exercitii si teste incepatori (38610)
  4. Exercitii engleza - English Tests and exercises - Grammar (114145)
  5. Afisare si chenare din CSS la elemente HTML (5722)

Popular pages this month

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