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 adauga rand nou in paragraf?
<b> <br> <p>
Prima linie ...<br>
Alta linie...
Ce proprietate CSS seteaza spatiu dintre litere?
text-size word-spacing letter-spacing
#id {
  letter-spacing: 2px;
}
Ce functie obtine accesul la un element HTML cu un anumit ID?
getElementById() getElementsByTagName() createElement()
var elm = document.getElementById("theID");
var content = elm.innerHTML;
alert(content);
Clic pe instructiunea "echo" utilizata corect.
echo "CoursesWeb.net" echo "CoursesWeb.net"; echo ""CoursesWeb.net";
echo "Adresa URL: http://CoursesWeb.net";
Care din urmatoarele expresii cu "paint" (a picta) se foloseste pentru forma Negativa?
will paint not paint have painted
She does not paint that landscape.
- Ea nu picteaza acel peisaj.
Care din urmatoarele expresii cu "cantar" (a canta) se foloseste pentru propozitie Negativa?
ir a cantar cantaba no cantar
Ella no canta esa canción.
- Ea nu canta acel cantec.
Citeste date din fisier Excel in PHP - PhpExcelReader

Last accessed pages

  1. Curs CSS Online Tutoriale CSS3 (57988)
  2. Butoane pentru link-uri folosind o singura imagine si CSS (1583)
  3. Curs si Tutoriale Ajax (52027)
  4. Tag-urile iframe si object (1836)
  5. Viitor simplu si continuu - Future Tense Simple and Continuous (31653)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (4316)
  2. Curs HTML gratuit Tutoriale HTML5 (3561)
  3. Curs si Tutoriale JavaScript (3085)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (3043)
  5. Curs CSS Online Tutoriale CSS3 (2985)