Posso criar confiável documentos do Excel a partir de um aplicativo PHP em um servidor Linux?

StackOverflow https://stackoverflow.com/questions/226052

  •  03-07-2019
  •  | 
  •  

Pergunta

O que é o estado gerando documentos do Excel a partir de um aplicativo PHP em um servidor Linux?

Estou interessante na criação de Office 97 (xls) arquivos do Excel. A minha investigação limitada sobre o assunto tornou-se este Pear pacote . Ele parece estar em estado beta desde 2006.

Você pode compartilhar o seu sucesso ou falhas na geração de arquivos do Excel de PHP? uma ferramenta confiável e maduro Existe disponíveis?

Update:. Para esta aplicação eu preciso gerar um arquivo Excel, e não apenas um arquivo CSV

Foi útil?

Solução

Há algo muito melhor do que o pacote PEAR lá fora!

PHPExcel

Outras dicas

Eu usei esse pacote PEAR e ele funciona muito bem para mim para o Office '97 -2000 arquivos compatíveis.

Se for uma simples planilha, o Office pode lidar com CSVs, assim, que o PHP pode saída nativamente e facilmente .

Que tal usar tabelas (uma planilha é uma tabela, por isso é OK) e jogando essas linhas no topo do script PHP que produz a mesa (s):

header("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

Ou você pode simplesmente produzir um arquivo CSV, como Excel pode abrir aqueles bem.

Eu usei o pacote PEAR com muito sucesso, mas existem algumas limitações na implementação de fórmulas complexas. Tem algo a ver com a maneira como o Excel armazena a fórmula, juntamente com o último resultado calculado. Por vezes, mesmo que a fórmula é correcta, quando a primeira abertura da folha as células mostram como vazio. Uma vez que a célula tem o foco e, em seguida, perde o foco, o cálculo é realizado e as células preenchidas.

A biblioteca é realmente uma porta de uma biblioteca perl, que é ligeiramente mais completa, mas tem as mesmas questões.

Eu tenho usado PERL Spreadsheet :: WriteExcel em vários proyects sem problema. Pode ser necessário fazer algumas correções e wrappers para melhorar a funcionalidade e torná-lo mais fácil, mas acho que é ok.

Eu gosto dele porque sua plataforma independente, fácil e rápido de configurar.

A maneira mais fácil é realmente para usar o cabeçalho para um arquivo "fake" Excel. Aqui está o código para iniciar um download como um arquivo do Excel, o cliente do Excel só vai analisar qualquer código HTML que é encontrado (mesas, CSV, ...) e exibi-lo em um bom Excel-como o formato.

header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=excel.xls");

Tudo está em estado beta hoje em dia. Você realmente precisa de arquivos do Excel com forumlas e tudo o que ou você só precisa abrir uma lista de registros no Excel para trabalhar em?

Normalmente, eu descobri que quando um cliente quer um arquivo do Excel, realmente eu só posso gerar um arquivo CSV e eles podem trabalhar nele no Excel e adicionar fórmulas que eles querem que após o fato.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top