T&R splet blog o spletnih storitvah. Razgaljamo tehnologijo!

reference spletnih strani
4th March

Preprosta skripta – kreiranje Excel datoteke iz PHP tabele/array

Pisali smo že o tem kako prebrati Excel in tudi kako ustvariti Excel, v obeh primerih smo dodali podporo za UTF-8. Dodatno smo zatem pregledali še konverzijo Excel datoteke v .txt datoteko, ponovno z UTF-8 podporo. Sedaj prilagam še preprosto skripto, ki poskrbi, da iz PHP tabele oz. arraya s podatki kreiramo Excel datoteko.

Celotna koda, ki predvideva, da imate Excel Writer class že dodan v PEAR strukturo. Excel Writer je mogoče dobiti v zgoraj omenjenem vodiču za kreiranje Excela.

PHP:
  1. <?php
  2. error_reporting(E_ALL | E_NOTICE);
  3.  
  4. // Potrebno le, če nimate PEAR imenika v PHP-include poti
  5. $cSeparator = (PHP_SHLIB_SUFFIX == 'dll') ? ';' : ':';
  6. define('INCLUDE_SEPARATOR', $cSeparator);
  7. define('FOLDER_SITE', $_SERVER['REQUEST_URI']);
  8. define('PEAR_FOLDER', 'PEAR/');
  9.  
  10. // set in ini, else PEAR gets lost
  11. ini_set('include_path', '.'.INCLUDE_SEPARATOR . FOLDER_SITE . INCLUDE_SEPARATOR . PEAR_FOLDER);
  12.  
  13. // Geneates excel file from data (key => header)
  14. function generateGenericExcel($file, $type, $data) {
  15.     // New instance of excel writer
  16.     require_once "PEAR/Spreadsheet/Excel/Writer.php";
  17.     $xls = new Spreadsheet_Excel_Writer($file);
  18.     $xls->setVersion(8);
  19.     $sheet = & $xls->addWorksheet($type);
  20.     $sheet->setInputEncoding('UTF-8');
  21.  
  22.     // Export data
  23.     $row = 0;
  24.  
  25.     foreach($data as $fields) {
  26.         $column = 0;
  27.  
  28.         // Export data
  29.         foreach($fields as $field) {
  30.             $sheet->writeString($row, $column, $field);
  31.             $column++;
  32.         }
  33.  
  34.         // Increase row
  35.         $row++;
  36.     }
  37.  
  38.     $xls->close();
  39. }
  40.  
  41. // Data, more bit pač array ala:
  42. $data = array(
  43.       0 => array('company', 'name', 'lastname'), // prva vrstica je header
  44.       1 => array('TRSplet', 'Rok', 'Meglič'), // ostalo so podatki
  45.       2 => array('TRSplet', 'Toni', 'Meglič')
  46.   );
  47.  
  48. // Klic funkcije
  49. generateGenericExcel('ime.xls', 'ime_taba_v_excelu', $data);

Kot rečeno zelo preprosta zadeva, vendar včasih pride prav. Če kdo potrebuje podobno preprosto skripto za kreiranje/branje Excela naj sporoči pod komentarje.

Deli s skupnostjo:

  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

Podobni članki:

  1. PHP – Kreiranje Excel datoteke – Pisanje v Excel datoteko – PHP – xls
  2. PHP – pretvorba Excel datoteke v .txt datoteko – Excel to txt converter
  3. PHP – branje Excel (.xls) datoteke – Excel UTF8 branje
  4. PHP – izdelava galerije – preprosta skripta za prikazovanje slik
  5. PHP & Javascript asociativna tabela (Associative array)
  6. PHP – Kreiranje PDF datoteke – DOMPDF – TCPDF
  7. MySQL kreiranje tabele s SELECT stavkom
  8. UTF-8 tabele, vendar latin1 podatki ter povezava
  9. Dinamično kreiranje / Upravljanje slik
  10. PHP – kako ugotoviti tip datoteke (get file extension type)

1 komentar na “Preprosta skripta – kreiranje Excel datoteke iz PHP tabele/array”

  1. Jure je napisal:

    Zelo uporabna skripta za izvoz EXCEL cenika iz podatkovne baze. Za tiste partnerje, ki imajo še vedno raje excel.

Dodaj komentar