Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Importar arquivo excel parao adianti Prezados, bom dia. Desejo importar os dados de um arquivo excel para o banco de dados PostgreSQL que utilizo para minha aplicação e que eventualmente irá criar uma lista com estes dados. Poderiam me dar uma dica? É possível fazer com Adianti? ...
PA
Importar arquivo excel parao adianti  
Prezados, bom dia. Desejo importar os dados de um arquivo excel para o banco de dados PostgreSQL que utilizo para minha aplicação e que eventualmente irá criar uma lista com estes dados. Poderiam me dar uma dica? É possível fazer com Adianti?

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (6)


MG

Eu uso o PHpsprradsheet

https://phpspreadsheet.readthedocs.io/
LF

Marcelo, você teria um exemplo?
MG

Tenho o exemplo abaixo:

  1. <?php
  2.     public function onUpload($param) {
  3.                 // faz o upload do arquivo
  4.                 .....
  5.                 // depois do upload, aplica-se o código abaixo
  6.                 $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
  7.                 $arq 'tmp/'.$pasta DIRECTORY_SEPARATOR $arquivo;
  8.                 $spredsheet $reader->load($arq);
  9.                 $i 2// pega a partir da 2 linha, geralmente a primeiro é o cabeçalho.
  10.                 $nulo false;
  11.                 while(!$nulo){
  12.                     $nome      $spredsheet->getActiveSheet()->getCellByColumnAndRow(1,$i);
  13.                     $endereco       $spredsheet->getActiveSheet()->getCellByColumnAndRow(2,$i);
  14.                     $numero     $spredsheet->getActiveSheet()->getCellByColumnAndRow(3,$i);
  15.                     $cep  $spredsheet->getActiveSheet()->getCellByColumnAndRow(4,$i);
  16.                     $compl       $spredsheet->getActiveSheet()->getCellByColumnAndRow(5,$i);
  17.                     // checa se o chassi existe na planilha
  18.                     if (empty($nome->getValue()) or trim($nome->getValue()) == ''){
  19.                         $nulo true;
  20.                         $i++;
  21.                         continue;
  22.                     }
  23.                     $pessoa = new Pessoa()
  24.                     $pessoa->nome $nome->getValue();
  25.                     $pessoa->endereco $endereco->getValue();
  26.                     $pessoa->numero $numero->getValu();
  27.                     $pessoa->cep $cep->getValue();
  28.                     $pessoa->compl $compl->getValue();
  29.                     $pessoa->save();
  30.                     $i++;
  31.                 }
  32.             }
  33.     }
  34. ?>
LF

Perdão pela ignorância minha, mas não entendi a linha:

$reader = new PhpOfficePhpSpreadsheetReaderXlsx();
MG

Trata-se do pacote para manipulação de Excel para PHP.
Deve ser instalado através do composer.
Segue a página do projeto.

https://phpspreadsheet.readthedocs.io/en/latest/
TP

olá, Marcelo

Estou tentando usar o PhpSpreadsheet, porém sem êxito. Já fiz a instalação das bibliotecas do Composer, já o executei via cmd (estou usando o Windows), mas creio está fazendo algo de errado, ou deixei passar alguma etapa.
Quando rodo meu projeto, e tento ler um arquivo Excel é me retornado o seguinte erro:
Fatal error: Uncaught Error: Class 'PhpOffice\PhpSpreadsheet\Reader\Xls' not found in D:\Programas\wamp64\www\interno\app\control\telas\pli\PliPlanilhaReport.class.php on line 79

Error: Class 'PhpOffice\PhpSpreadsheet\Reader\Xls' not found in D:\Programas\wamp64\www\interno\app\control\telas\pli\PliPlanilhaReport.class.php on line 79


Você conseguiria me ajudar? Abaixo segue a função utilizada.
  1. <?php
  2.     public static function onArq($param){
  3.         try{
  4.             $coluna 0;
  5.             if($param['file'] <> ''){
  6.                 //var_dump($param);
  7.                 $arq 'tmp'DIRECTORY_SEPARATOR $param['file'];
  8.                 $ext explode('.'$arq);
  9.                 $extensao strtolower($ext[1]);
  10.                 
  11.                 if($extensao == 'xls'){
  12.                     $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
  13.                 }
  14.                 if($extensao == 'xlsx'){
  15.                     $reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
  16.                 }
  17.                 $spredsheet $reader->load($arq);
  18.                 //print_r($spredsheet);
  19.                 
  20.                 $i 2// pega a partir da 2 linha, geralmente a primeiro é o cabeçalho.
  21.                 $nulo false;
  22.                 $row = [];
  23.                 while(!$nulo){
  24.                     $obj = new stdClass;
  25.                     
  26.                     $cdncm $spredsheet->getActiveSheet()->getCellByColumnAndRow(1,$i);
  27.                     $obj->CD_NCM $cdncm->getValue();
  28.                     
  29.                     $descricao $spredsheet->getActiveSheet()->getCellByColumnAndRow(2,$i);
  30.                     $obj->DESCRICAO $descricao->getValue();
  31.                     
  32.                     $aliq_ii $spredsheet->getActiveSheet()->getCellByColumnAndRow(3,$i);
  33.                     $obj->ALIQ_II $cdncm->getValue();
  34.                     
  35.                     // checa se o chassi existe na planilha
  36.                     if( empty($cdncm->getValue()) ){
  37.                         $nulo true;
  38.                         $i++;
  39.                         continue;
  40.                     }
  41.                     $i++;
  42.                     
  43.                     //---- inserir as informacoes do item ---------------
  44.                     self::SalvarItemFatura((array) $obj);
  45.                     //---------------------------------------------------
  46.                 }//fim do while
  47.                 //return $this->rowncm;
  48.             }//fim do if do arquivo
  49.             new TMessage('info'"Total:{$i} - Transferência com Sucesso.");
  50.         }
  51.         catch(Exception $e){
  52.             new TMessage('error'$e->getMessage()); // shows the exception error message
  53.             TTransaction::rollback(); // undo all pending operations
  54.         }
  55.     }
  56. ?>