O PHPEXCEL é uma biblioteca de classes de geração de documentos do MS Office MS Excel. Quando é necessário produzir dados de formato relativamente complexos, o phpexcel é uma boa escolha. No entanto, seu uso é relativamente complicado. Liste para gravar.
A cópia do código é a seguinte:
<?
// Defina o caminho de inclusão da biblioteca da classe Phpexcel
set_include_path ('.'. path_separator.
'D:/zeal/php_libs'. Path_separator.
get_include_path ());
/**
* O seguinte é um exemplo de uso. Para linhas que começam com ////, existem diferentes métodos opcionais. Por favor, use -os de acordo com as necessidades reais.
* Abra o comentário sobre a linha correspondente.
* Se estiver usando o Excel5, a saída deve ser codificada por GBK.
*/
requim_once 'phpexcel.php';
// Uncomment
//// requer_once 'phpexcel/writer/excel5.php'; // usado para outras versões inferiores do XLS
// ou
//// requer_once 'phpexcel/writer/excel2007.php'; // para formato Excel-2007
// Crie uma instância de objeto de processamento
$ objexcel = new phpexcel ();
// Crie formato de arquivo para escrever a instância do objeto, descomment
//// $ objwriter = new phpexcel_writer_excel5 ($ objexcel); // usado para outros formatos de versão
// ou
//// $ objwriter = new phpexcel_writer_excel2007 ($ objexcel); // para o formato de 2007
// $ objwriter-> setOffice2003Compatibility (true);
// ***********************************************
// Defina propriedades básicas de documentos
$ objProps = $ objexcel-> getProperties ();
$ objProps-> setCreator ("Zeal Li");
$ objProps-> setLastModifiedby ("zeal li");
$ objProps-> Settitle ("Documento de teste do Office XLS");
$ objProps-> setSubject ("Documento de teste do Office XLS, Demo");
$ objProps-> setDescription ("Documento de teste, gerado por phpexcel.");
$ objProps-> setKeywords ("Office Excel phpexcel");
$ objProps-> setCategory ("teste");
// ***********************************************
// Defina o índice de folha atual para operações de conteúdo subsequentes.
// Geralmente, a chamada é necessária apenas quando várias folhas são usadas.
// Por padrão, o PhPexcel criará automaticamente a primeira folha e definirá o SheetIndex = 0
$ objexcel-> setActiveSheetIndex (0);
$ objactSheet = $ objexcel-> getActiveSheet ();
// Defina o nome da folha ativa atual
$ objactSheet-> Settitle ('Folha de teste');
// ***********************************************
// Defina o conteúdo da célula
//
// phpexcel determina automaticamente o tipo de conteúdo de células com base no conteúdo recebido
$ objactSheet-> setCellValue ('A1', 'String Content'); // String Content
$ objactSheet-> setCellValue ('A2', 26); // Valor
$ objactSheet-> setCellValue ('A3', true); // valor booleano
$ objactSheet-> setCellValue ('a4', '= sum (a2: a2)'); // fórmula
// Explicativo Especifique o tipo de conteúdo
$ objactSheet-> setCellValueExplicit ('A5', '847475847857487584',
Phpexcel_cell_datatype :: type_string);
// Mesclar células
$ objactSheet-> Mergecells ('B1: C22');
// células separadas
$ objactSheet-> UMERGECELLS ('B1: C22');
// ***********************************************
// Defina o estilo de célula
//
// Defina a largura
$ objactSheet-> getColumnDimension ('b')-> setaUTosize (true);
$ objactSheet-> getColumnDimension ('a')-> setWidth (30);
$ objstylea5 = $ objactSheet-> getStyle ('A5');
// Defina o formato numérico do conteúdo da célula.
//
// se phpexcel_writer_excel5 for usado para gerar conteúdo,
// Observe aqui que a variável const definida na classe phpexcel_style_numberFormat
// Entre vários métodos de formatação personalizada, outros tipos podem ser usados normalmente, mas quando o SetFormatCode
// Quando for format_number, o efeito real não está definido como "0". precisar
// modifica o método getxf ($ style) no código -fonte da classe phpexcel_writer_excel5_format,
// Adicione um antes se ($ this-> _ biff_version == 0x0500) {(perto da linha 363)
// Código de linha:
// if ($ ifmt === '0') $ ifmt = 1;
//
// Defina o formato como phpexcel_style_numberformat :: format_number para evitar alguns grandes números
// é exibido usando o método de contagem científica. Em conjunto com o seguinte método setautoSize, o conteúdo de cada linha pode ser feito
// Todos são exibidos de acordo com o conteúdo original.
$ objstylea5
-> getNumberFormat ()
-> setFormatCode (phpexcel_style_numberFormat :: format_number);
// Defina a fonte
$ objfontA5 = $ objstylea5-> getFont ();
$ objfonta5-> setName ('Courier new');
$ objfonta5-> setSize (10);
$ objfonta5-> setBold (true);
$ objfonta5-> setUnderLine (phpexcel_style_font :: sublline_single);
$ objfonta5-> getColor ()-> setArgb ('ff9999999');
// Defina o alinhamento
$ objaligna5 = $ objstylea5-> getalignment ();
$ objaligna5-> sethorizontal (phpexcel_style_alignment :: horizontal_right);
$ objaligna5-> setvertical (phpexcel_style_alignment :: vertical_center);
// Defina a borda
$ objbordera5 = $ objstylea5-> getBorders ();
$ objbordera5-> gettop ()-> setBordersTyle (phpexcel_style_border :: border_thin);
$ objbordera5-> gettop ()-> getColor ()-> setArgb ('ffff0000'); // cor
$ objbordera5-> getBottom ()-> setBordersTyle (phpexcel_style_border :: border_thin);
$ objbordera5-> getLeft ()-> setBordersTyle (phpexcel_style_border :: border_thin);
$ objbordera5-> getright ()-> setBordersTyle (phpexcel_style_border :: border_thin);
// Defina a cor de preenchimento
$ objfilla5 = $ objstylea5-> getfill ();
$ objfilla5-> setFillType (phpexcel_style_fill :: FILL_SOLID);
$ objfilla5-> getstartColor ()-> setargb ('ffeeeee');
// Copiar informações de estilo da célula especificada.
$ objactSheet-> duplicatestyle ($ objstylea5, 'b1: c22');
// ***********************************************
// Adicione fotos
$ objdrawing = new phpexcel_worksheet_drawing ();
$ objdrawing-> setName ('zealimg');
$ objdrawing-> setDescription ('Imagem inserida por zelo');
$ objdrawing-> setPath ('./ zeali.net.logo.gif');
$ objdrawing-> SethEight (36);
$ objdrawing-> setCoordinates ('c23');
$ objdrawing-> setOffsetx (10);
$ objdrawing-> setrotation (15);
$ objdrawing-> getshadow ()-> setvisible (true);
$ objdrawing-> getshadow ()-> setDirection (36);
$ objdrawing-> setWorkheet ($ objactheet);
// Adicione uma nova planilha
$ objexcel-> createSheet ();
$ objexcel-> getSheet (1)-> estabelecimento ('teste 2');
// proteja a célula
$ objexcel-> getSheet (1)-> getProtecção ()-> setSheet (true);
$ objexcel-> getSheet (1)-> ProtectCells ('A1: C22', 'phpexcel');
// ***********************************************
// Conteúdo de saída
//
$ outputFilename = "output.xls";
// para arquivar
//// $ objwriter-> salvar ($ outputFileName);
//ou
// para o navegador
//// cabeçalho ("Content-Type: Application/Force-download");
//// cabeçalho ("Content-Type: Application/Octet-Stream");
//// cabeçalho ("Content-Type: Application/Download");
////header('Content-Disposition:inline; Filename="'.$outputfilename. '"');
//// cabeçalho ("ContentRansfer-coding: binário");
//// cabeçalho ("Expira: Seg, 26 de julho de 1997 05:00:00 GMT");
//// cabeçalho ("Último modificado:".
//// Cabeçalho ("Cache-Control: Must-revalidado, pós-check = 0, pré-check = 0");
//// cabeçalho ("Pragma: No-Cache");
//// $ objwriter-> save ('php: // output');
?>