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
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

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 5 results

  1. 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) } })
  2. 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?
  3. 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
  4. Olá companheiros, Sou novo no fórum e estou com um probleminha no meu código. Não tenho pratica alguma com o PHPExcel. É o seguinte estou tentando gerar uma planilha com os dados do banco via o PHPExcel, porém ao gerar a planilha os nomes das colunas juntamente com os seus respectivos valores ficam alocados dentro da célula "A1" (Todas as informações passadas para a planilha via o PHPExcel ficam alocada dentro de uma só célula, "A PRIMEIRA"). O que poderia está causando isso?. :huh: OBS: Utilizo o LibreOffice. Desde já agradeço a ajuda de todos. .. Código: //Incluimos a classe PHPExcel require_once $this->Ini->path_third.'/phpexcel/PHPExcel.php'; // Instanciamos a classe $objPHPExcel = new PHPExcel(); // Definimos o estilo da fonte $objPHPExcel->getActiveSheet()->getStyle('A1')->getFont()->setBold(true); // Colunas $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', 'Teste' ) ->setCellValue('B1', "Teste" ) ->setCellValue("C1", "Teste" ) ->setCellValue("D1", "Teste" ); // Configurar diferentes larguras paras as colunas como padrão $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(90); $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(30); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(30); //Escolhe a posição exata aonde o dado será inserido (coluna, linha, dado); $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1, 2, "Teste"); $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(2, 2, "Teste"); $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(3, 2, "Teste"); $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(4, 2, "Teste"); // Renomear o nome das planilha atual, lembrando que um único arquivo pode ter várias planilhas $objPHPExcel->getActiveSheet()->setTitle('TestandoTeste'); // Cabeçalho do arquivo para ele baixar header("Content-Encoding: UTF-8"); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="Folha.xls"'); header('Cache-Control: max-age=0'); // Se for o IE9, isso talvez seja necessário header('Cache-Control: max-age=1'); // Acessamos o 'Writer' para poder salvar o arquivo $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV'); // Salva diretamente no output $objWriter->save('php://output'); exit; }
  5. Olá pessoal. Estou trabalhando em uma solução, com Delphi 2007 e SQL Server, onde é preciso ler uma planilha Excel, formato XLSX, onde há um extenso volume de dados e gravar os dados obtidos em uma tabela no SGBD SQL Server. A planilha em questão pode ter até 100.000 registros. Algum de vocês tem experiência com este tipo de solução? Por questões de desempenho, o que é melhor utilizar? OLE? ADO? Há uma maneira de na versão 2007 do Delphi promover a inclusão dos registros em lote? Para facilitar a análise, na solução o usuário tem uma interface (tela) que lhe permite escolher o arquivo Excel a ser importado. Escolhido o arquivo, é iniciado o processo de leitura do mesmo e gravação de cada registro em banco de dados. Meu problema agora é desempenho/performance. Criei o processo para leitura e gravação em banco, usando OLE, e o desempenho não atende as expectativas dos usuários. Alguém pode me ajudar? Há exemplos que podem ser compartilhados? Muito agradeço!
×

Important Information

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