Alternativa para PHP_excel


132

Existe alguma alternativa para PHP_excel que possa "Exportar para XLSX / XLS" em um formato personalizado?

Esta é uma pergunta de referência geral para o tag


2
Dado que as perguntas freqüentes que solicitam bibliotecas que podem ler / gravar arquivos do Excel são apontadas regularmente para esta resposta devido à lista fornecida ... e que a lista em questão é atualizada regularmente, não consigo entender por que deveria ter sido fechada.
Mark Baker

1
Eu não era um dos mais próximos, mas o motivo na caixa "fechado como fora de tópico" parece combinar muito bem comigo. Veja também: por que as perguntas da lista de compras são ruins . Sei que sua resposta é de alta qualidade e está sendo atualizada, mas a pergunta em si ainda se enquadra nessa categoria fora de tópico.
IMSoP 21/09

14
Embora a questão esteja tecnicamente fora de tópico, esta é a sessão de perguntas e respostas canônicas sobre este tópico e oferece um valor significativo. Evite fechá-lo.
9133 Gordon

Respostas:


39

Eu escrevi uma classe muito simples para exportar para o "Excel XML", também conhecido como SpreadsheetML. Não é tão conveniente para o usuário final quanto o XSLX (dependendo da extensão do arquivo e da versão do Excel, eles podem receber uma mensagem de aviso), mas é muito mais fácil trabalhar com o XLS ou o XLSX.

http://github.com/elidickinson/php-export-data


1
Se você o escrevesse, compartilharia sob qual licença você o oferece? Tive problemas para decifrá-lo da sua resposta resp. das fontes que você vinculou, mas estaria interessado em saber mais.
hakre

@ Eli: Como podemos mesclar duas colunas em uma linha específica?
João

1
@ Eli, como eu criaria novas planilhas usando seu código?
Ivanacorovic 17/09/2015

Como gerar e baixar o arquivo xlsx usando o AJAX?
Guru

286

Para escrever Excel

  • PHP_Excel_Writer do PEAR (apenas xls)
  • php_writeexcel de Bettina Attack (apenas xls)
  • Comercial XLS File Generator e apenas xls
  • Excel Writer for PHP a partir do Sourceforge (somente planilhaML)
  • A extensão Excel de Ilia Alshanetsky agora no github (xls e xlsx, e requer o componente comercial libXL )
  • Extensão COM do PHP (requer um programa de planilha ativado por COM, como o MS Excel ou o OpenOffice Calc em execução no servidor)
  • A alternativa do Open Office ao COM ( PUNO ) (requer o Open Office instalado no servidor com o suporte a Java ativado)
  • PHP-Export-Data por Eli Dickinson (Writes SpreadsheetML - o formato XML do Excel 2003 e CSV)
  • O php-excel de Oliver Schwarz (SpreadsheetML)
  • A versão original de Oliver Schwarz do php-excel (SpreadsheetML)
  • excel_xml (SpreadsheetML, apesar do nome) ... link relatado como quebrado
  • O projeto tiny-but-strong (tbs) inclui a ferramenta OpenTBS para criar documentos OfficeOpenXML (formatos OpenDocument e OfficeOpenXML)
  • Declarações SimpleExcel para ler e gravar formatos XML / CSV / TSV / HTML / JSON / etc do Microsoft Excel
  • Somente planilhas do KoolGrid xls, mas também doc e pdf
  • PHP_XLSXWriter OfficeOpenXML
  • PHP_XLSXWriter_plus OfficeOpenXML, bifurcação do PHP_XLSXWriter
  • php_writeexcel xls apenas (parece que é baseado no PEAR SEW)
  • bico OfficeOpenXML (xlsx) e CSV
  • Slamdunk / php-excel (somente xls) parece uma versão atualizada do antigo gravador de planilhas do PEAR

Para leitura do Excel

Uma nova extensão C ++ Excel para PHP, embora você precise construí-la por conta própria, e os documentos são muito escassos quando se trata de tentar descobrir qual funcionalidade (eu não consigo nem descobrir no site quais formatos ele suporta, ou se ele lê ou escreve ou ambos .... Acho que ambos) oferece o phpexcellib do SIMITGROUP.

Todos afirmam ser mais rápidos que o PHPExcel do codeplex ou do github , mas (com exceção do COM, o wrapper do PUNO Ilia em torno do libXl e spout) eles não oferecem leitura e gravação, nem xls e xlsx; não pode mais ser suportado; e (embora eu não tenha testado a extensão de Ilia), apenas COM e PUNO oferecem o mesmo grau de controle sobre a pasta de trabalho criada.


A extensão de Ilia agora suporta XLS e XLSX.
Sara

6
@RZB - Você usa qualquer biblioteca que funcione para você, embora o MySQL (até onde eu saiba) não tenha nenhuma função de importação nativa para arquivos .xls, apenas para .csv usando LOAD DATA INFILE. Como desenvolvedor do PHPExcel, certamente irei promovê-lo e recomendá-lo onde for apropriado, mas não imponho seu uso quando não for a opção mais apropriada.
Mark Baker

1
@velcrow um bom motor leve. Boa recomendação, precisa de algum trabalho, mas os arquivos xslx qualidade saídas
Foochow

1
obrigado pelo seu precioso tempo.
Zain

1
@ Marcos, Seria ótimo se você pudesse fazer algo assim$manyAnswers = split($libSeparator, $thisAnswer); // So we could vote and comment by lib
dap.tci
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.