xlsx

Mattepuffo's logo
Leggere file Excel con Python e xlrd

Leggere file Excel con Python e xlrd

La libreria xlrd è una delle tante con cui è possibile leggere file Excel con Python.

Supporta sia XLS che XLSX.

Nel complesso non è tra le mie favorite, però ammetto che è molto veloce nel leggere i files (o almeno mi ha dato questa impressione).

Mattepuffo's logo
Convertire file XSL in CSV su Linux con unoconv

Convertire file XSL in CSV su Linux con unoconv

Dalla descrizione, sembra che unoconv faccia parte della suite LibreOffice.

Comunque dovrebbe essere disponibile in tutti i repo, quindi potete installarlo facilmente.

Questo programma permette di convertire da XLS / XLSX a CSV e viceversa.

Mattepuffo's logo
Usare PHPExcel con CodeIgniter

Usare PHPExcel con CodeIgniter

PHPExcel è un'ottima libreria per creare file excel con PHP.

Ne ho già parlato in passato, ed ora useremo questa libreria dentro al framework CodeIgniter.

Prima di tutto scaricate la libreria da qua.

Dentro al file zip identificate la cartella Classes; il suo contenuto mettetelo dentro application/third_party.

A questo punto create un file nominato excel.php dentro a application/libraries:

<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

require_once APPPATH . '/third_party/PHPExcel.php';

class Excel extends PHPExcel {

    public function __construct() {
        parent::__construct();
    }

}

Questo sarà il file che noi richiameremo nel controller, e altro non fa che richiamare la classe PHPExcel.

A questo punto procediamo nella creazione del model che eseguirà la query su db, e che richiameremo nel controller; ad esempio:

<?php

class Excel_model extends CI_Model {

    public function getEntrate() {
        $this->db->select('entrata_valore, causale_nome, conto_nome, entrata_data, entrata_note');
        $this->db->from('entrate');
        $this->db->join('causali', 'entrate.causale_id = causali.causale_id');
        $this->db->join('conti', 'entrate.conto_id = conti.conto_id');
        $this->db->order_by('entrata_data', 'desc');
        $this->db->limit(50);
        $query = $this->db->get();
        return $query->result();
    }

}

Se non volete prendere tutte le colonne della tabella, dovete specificare quali volete, altrimenti ve le ritroverete tutte nel file excel.