Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125

    Spreadsheet_Excel_Reader & Spreadsheet_Excel_Writer

    Ciao a tutti.

    Fin'ora ho usato senza problemi la classe reader per leggere da file excel.

    Codice PHP:
    require_once 'Excel/reader.php';

    $data = new Spreadsheet_Excel_Reader();
    $data->setOutputEncoding('CP1251'); // Set output Encoding.
    $data->read("miofile.xls"); 
    di qui vari metodi per leggere le celle etc etc....( es $data->sheets[0]['numRows']

    Benissimo. ora vorrei tanto scrivere sullo stesso file che leggo.

    Ho scaricato la classe excelwriter.inc.php dal sito PHP CLASSES .... molto buona infatti scrive benissimo....ma mi crea un nuovo file.

    Qui il sito dove ho trovato la classe : http://www.phpclasses.org/package/20...ML-format.html


    e qui il codice che crea e scrive il file excel.

    Codice PHP:
    include("excelwriter.inc.php");
        
        
    $excel=new ExcelWriter("myXls.xls");
        
        if(
    $excel==false)    
            echo 
    $excel->error;
            
        
    $myArr=array("Name","Last Name","Address","Age");
        
    $excel->writeLine($myArr);

        
    $myArr=array("Sriram","Pandit","23 mayur vihar",24);
        
    $excel->writeLine($myArr);
        
        
    $excel->writeRow();
        
    $excel->writeCol("Manoj");
        
    $excel->writeCol("Tiwari");
        
    $excel->writeCol("80 Preet Vihar");
        
    $excel->writeCol(24);
        
        
    $excel->writeRow();
        
    $excel->writeCol("Harish");
        
    $excel->writeCol("Chauhan");
        
    $excel->writeCol("115 Shyam Park Main");
        
    $excel->writeCol(22);

        
    $myArr=array("Tapan","Chauhan","1st Floor Vasundhra",25);
        
    $excel->writeLine($myArr);
        
        
    $excel->close();
        echo 
    "data is write into myXls.xls Successfully."

    come faccio a scrivere su un file che leggo
    e soprattutto vorrei scrivere una riga a mia scelta (se il file e' compilato fino alla riga 100...io voglio scrivere la 101)

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    Magari riformulo la domanda senza tenermi legato a quelle classi che ho scaricato.

    Se sapete suggerirmi altre classi migliori fate pure...

    Il mio scopo e' abb semplice.

    Voglio leggere un file excel e dopo averlo letto poter inserire una riga dopo l'ultima riga che ho letto.

    help..


    grazie a priori

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    dite che la soluzione potrebbe essere leggere il file e poi generarne uno uguale con una riga in piu?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    up.

    Con il metodo leggi e poi scrivi un nuovo file uguale a quello letto (ma con una riga in piu) ho parzialmente raggiunto il mio scopo.

    Vorrei scrivere le celle formattate come sono sul file excel da leggere..

    in sostanza

    1) Creo nuovo oggetto Excel reader objRead
    2) Creo nuovo oggetto writer objWrite
    2) Leggo il foglio objRead->read("mioFile.xls")
    3) Ciclo le row
    4) Aquisire formattazione celle tipo... $objRead->getProprieties()
    5) Scrivere le info nel nuovo file objWrite->setProprieties(array Proprieties)
    6) Scrivere i valori nella cella gia formattate. $objWrite->setVal("mioVal")


    Non so... non c'e' nessuno che ha smanettato con queste classi?

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    Ho cercato ovunque. sono sfinito....

    Possibile che non ci sia nessuno che riesce a inserire una NUOVA RIGA in un foglio excel gia scritto?

    Facendo il barbatrucco leggi il file excel e creane uno nuovo incombo nel problema di riportare la formattazione delle celle uguale a quelle del file letto....

    Se invece potessi solo aggiungere una riga , il resto rimarrebbe formattato.

    Pls help

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    Ho risolto
    Spero che a qualcuno possa servire.
    Sbagliavo nel non salvare il file. (chiedo perdono)
    http://phpexcel.codeplex.com/releases/view/45412


    Codice PHP:

    require_once 'Classes/PHPExcel.php';
    $objReader PHPExcel_IOFactory::createReader('Excel2007');
    //$objReader->setReadDataOnly(true);

    $objPHPExcel $objReader->load("test.xlsx");
    $objWorksheet $objPHPExcel->getActiveSheet();

    $objWorksheet->insertNewRowBefore(72);
    $objWriter PHPExcel_IOFactory::createWriter($objPHPExcel'Excel2007');
    $objWriter->save(str_replace('.php''.xlsx'__FILE__)); 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.