Jump to content

Search the Community

Showing results for tags 'xlsx'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Web Development
    • HTML e CSS
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets and other environments
    • WordPress
    • Mobile
    • Agile
    • Desenvolvimento de Games
    • Banco de Dados
    • Design and UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • iMasters's pub

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 4 results

  1. AlexandrePrezzi

    Exportar para Excel

    Boa tarde, Estou tentando gerar um arquivo xls ao clicar em um botao "Gerar Excel" (em um primeiro momento estou usando um exemplo pronto básico) Baixei os arquivos da biblioteca e salvei na raiz do meu projeto /vendors (uma pasta com as classes da biblioteca) e mais dois arquivos composer soltos na raiz composer.json composer.lock O arquivo que estou trabalhando esta no seguinte caminho C:\wamp64\www\painel\src\view\rrc resultExcel.php de modo que para chegar na pasta vendors eu usei o comando require('/../../../vendor/autoload.php'); Porem quando eu clico no botão para gerar ele me da um erro sugerindo não encontrar esse arquivo (erro na imagem) Obs: Se eu criar um arquivo resultExcel.php exatamente igual .. porem na raiz... funciona perfeitamente..... Alguem sabe dizer pq dentro de uma estrutura de pastas da esse problema ? Segue código do resultExcel.php (um modelo copiado de um exemplo) <?php // require_once 'vendor/autoload.php'; require('/../../../vendor/autoload.php'); use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\IOFactory; $spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet(); $sheet->setCellValue('A1', '#'); $sheet->setCellValue('B1', 'First'); $sheet->setCellValue('C1', 'Last'); $sheet->setCellValue('D1', 'Handle'); $sheet->setCellValue('A2', 1); $sheet->setCellValue('B2', 'Mark'); $sheet->setCellValue('C2', 'Jacob'); $sheet->setCellValue('D2', 'Larry'); $sheet->setCellValue('A3', 2); $sheet->setCellValue('B3', 'Jacob'); $sheet->setCellValue('C3', 'Thornton'); $sheet->setCellValue('D3', '@fat'); $sheet->setCellValue('A4', 3); $sheet->setCellValue('B4', 'Larry'); $sheet->setCellValue('C4', 'the Bird'); $sheet->setCellValue('D4', '@twitter'); $filename = 'sample-'.time().'.xlsx'; // Redirect output to a client's web browser (Xlsx) header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="'.$filename.'"'); header('Cache-Control: max-age=0'); // If you're serving to IE 9, then the following may be needed header('Cache-Control: max-age=1'); // If you're serving to IE over SSL, then the following may be needed header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified header('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header('Pragma: public'); // HTTP/1. $writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save('php://output');
  2. Bom dia! Estou com problema quando converto um arquivo do Excel com extensão XLSX para JSON javascript, o método está funcionando normalmente, recebo um Array com objetos, porém esse Array só vem com a primeira "ABA" do arquivo Excel, uma vez que esse arquivo Excel que estou convertendo tem 4 abas no total. Como faço para acessar e converter todas essas "abas" ? Estou usando o "https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.14.0/xlsx.full.min.js" para conversão. Segue meu código abaixo: Obrigado !!! function ajax(config) { const xhr = new XMLHttpRequest() xhr.open(config.metodo, config.url, true) xhr.responseType = "arraybuffer" xhr.onload = function(e) { if(xhr.status === 200) { config.sucesso(xhr.response) } else if(xhr.status >= 400) { config.erro(xhr.statusText) } } xhr.send() } ajax({ url: "teste.xlsx", metodo: "GET", sucesso(resposta) { const arraybuffer = resposta const data = new Uint8Array(arraybuffer) const arr = [] for(let i = 0; i !=data.length; i++) { arr[i] = String.fromCharCode(data[i]) } let bstr = arr.join("") const workbook = XLSX.read(bstr, { type:"binary" }) const first_sheet_name = workbook.SheetNames[0] const worksheet = workbook.Sheets[first_sheet_name] var info = XLSX.utils.sheet_to_json(worksheet, { raw: true }) return info }, erro(e) { console.log(e) } })
  3. Bom dia, amigos! Acho que é a minha primeira interação aqui no fórum depois de anos de cadastrado, mas provavelmente o início de uma intensa troca de conhecimento. É o seguinte; Eu tenho uma Planilha Excel pra importar no banco de dados MySQL com o PHP, fiz uns testes de impressão e com uma planilha com poucos campos e linhas imprime numa boa, porém a planilha que preciso importar tem pelo menos 56 campos e pelo menos 1400 linhas. Daí pergunto a vocês: Qual o máximo de colunas e linhas de uma planilha Excel, seja xml ou xls, eu consigo imprimir na tela com o PHP e até mesmo importar no banco MySQL?
  4. diego.baiao

    [Resolvido] Relatorio com PHPExcel

    Olá bom dia a todos! Pessoal preciso fazer um relatório que venha a gerar um arquivo xlsx automaticamente, de uma consulta do banco de dados, estou usando o "PHPEXcel" para isso. Tenho essa necessidade abaixo: >> Esse arquivo tem que gerar abas automaticamente quando o limite chegar a 1 milhão de linhas sabemos que o excel a partir de 2003 o limite de linhas por "planilha" ou "aba" é de "um milhão" 1k, estou arredondado para baixo, o certo é 1.048.576 linhas por 16.384 colunas por aba/planilha. Exemplo: Então resumindo vou tirar um relatório deu 3 milhões e meio de registros, serão 4 abas/planilhas, sendo 3 abas com um milhão cada e mais 1 aba com meio milhão. Sendo que ele deve fazer tudo sozinho se tiver 10 milhões e assim vai, eu consigo já gerar o arquivo com a consulta vindo do banco, mais não consigo gravar todas as linhas na tabela e muito menos fazer criar as abas automaticamente. *** estou seguindo essa referencia abaixo com uso no phpexcel, neste ensina o uso para criar novas "abas/planilhas" no arquivo a ser gerado mais não consigo colocar em pratica. (http://interessespessoais.com/programacaoweb/criar-varias-folhas-num-ficheiro-excel-com-a-classe-phpexcel/) Dados importantes: 1 - número de linhas por aba é 1 milhão de linhas; 2 - as colunas são fixas então nunca irá ter mais ou menos ao que já tem criado( vai da coluna "A" a "O' são 15 colunas o total); 3 - possui um cabeçalho fixo, vou deixar fictício esses dados não são relevantes ( serão eles mesmos "A', "B", "C" ... "O"). >> no código abaixo o cabeçalho vai ser sempre a primeira linha logo abaixo da coluna como fiz ali "A1" chamei de "id" seria a primeira delas. >> nesse caso para não ficar pesado a consulta e demora no resultado eu estou trazendo 15 linhas(registros) minha tentativa é gera 3 abas com 5 registros em cada uma delas. Dando certo ai mudo para a suposta quantidade de registros que queira alcançar. hehe Segue meu código abaixo já gerando o relatório porem com uma linha editada rs. "Mais ao menos gera no formato certo sem erros". <?php /* Rodando esta gravando o xlsx */ require_once "conexao.php"; require_once 'Classes/PHPExcel.php'; // DEFINE O FUSO HORARIO COMO O HORARIO DE BRASILIA date_default_timezone_set('America/Sao_Paulo'); //cria a conexao com o banco $conexao_pdo = new PDO("pgsql:host=$host dbname=$dbname user=$user password=$senha"); //laço para exibir se a conesão foi bem sucedida if ($conexao_pdo) { echo 'Conexão com o PostgreSQL realizada com sucesso!!<br>'; } else { echo 'Falha na conexão com o PostgreSQL!'; } // grava milesegundo no arquivo gerado $data_hora = date('d/m/Y H:i:s', time()); $microtime = microtime(true); $time = explode(".", $microtime); $mSecs = $time[1]; if (strlen($mSecs) == 3){ $mSecs = $mSecs."0"; }elseif (strlen($mSecs) == 2){ $mSecs = $mSecs."00"; } function limpaData($data_hora){ $rem = array ('-',':',' ','/','.'); $sub = array ('_','_','_','_','_'); return str_replace($rem, $sub, $data_hora); } $data = limpaData($data_hora)."_".$mSecs; //pega data e concatena com microsegundos //consulta via pdo // nesse caso para nao ficar pesado trago 15 linhas minha tentativa é gera 3 abas com 5 registros em cada uma delas $consulta = $conexao_pdo->query( "SELECT * FROM ENVIOS.ENVIO_CONTATO LIMIT 15" ); //muda o modo padrão de busca para um objeto PDOStatement $consulta->setFetchMode(PDO::FETCH_ASSOC); $count = $consulta->rowCount(); // pega o numero de registros na consulta if ($count > 0) { while($row = $consulta->fetch()) { // Criar um novo objecto PHPExcel $objPHPExcel = new PHPExcel(); // Inserir dados nas células A1 e A2 $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'id') ->setCellValue('A2', $row['id']); } } // // Indicação da criação do ficheiro $file = $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $file->save("downloads\periodo_" .$data. ".xlsx"); ?> O arquivo é gerado na pasta "downloads" dentro do projeto, porém com apenas 1 dado ( so fiz ele ir na primeira celular "A" e gravar um dado no caso um "id" da minha consulta, teria que fazer isso com o resto das informações, "B" os "nomes", "C" as "idades" e assim vai... não sei como fazer um loop nessa situação com foreach, while, for, etc... * O meu problema esta sendo mais com logica de programação vou estudar para ver se consigo ir adiante, mais se conseguirem derem uma força eu agradeço. Segue duas prints abaixo: 1 - do arquivo gerado >> http://prntscr.com/hv37mh 2 - do arquivo aberto >> http://prntscr.com/hv385u
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.