XLSXWriter::writeSheetHeader PHP Method

writeSheetHeader() public method

public writeSheetHeader ( $sheet_name, array $header_types, $suppress_row = false )
$header_types array
    public function writeSheetHeader($sheet_name, array $header_types, $suppress_row = false)
    {
        if (empty($sheet_name) || empty($header_types) || !empty($this->sheets[$sheet_name])) {
            return;
        }
        self::initializeSheet($sheet_name);
        $sheet =& $this->sheets[$sheet_name];
        $sheet->columns = array();
        foreach ($header_types as $v) {
            $sheet->columns[] = $this->addCellFormat($v);
        }
        if (!$suppress_row) {
            $header_row = array_keys($header_types);
            $sheet->file_writer->write('<row collapsed="false" customFormat="false" customHeight="false" hidden="false" ht="12.1" outlineLevel="0" r="' . 1 . '">');
            foreach ($header_row as $k => $v) {
                $this->writeCell($sheet->file_writer, 0, $k, $v, $cell_format_index = '0');
                //'0'=>'string'
            }
            $sheet->file_writer->write('</row>');
            $sheet->row_count++;
        }
        $this->current_sheet = $sheet_name;
    }

Usage Example

<?php

//php test_xlsxwriter.php >out.xlsx
//Generates a spreadsheet with multiple sheets, 10K rows, 10 columns
include_once __DIR__ . '/../xlsxwriter.class.php';
$headers = array('id' => 'string', 'name' => 'string', 'description' => 'string', 'n1' => 'string', 'n2' => 'string', 'n3' => 'string', 'n4' => 'string', 'n5' => 'string', 'n6' => 'string', 'n7' => 'string');
$sheet_names = array('january', 'february', 'march', 'april', 'may', 'june');
$start = microtime(true);
$writer = new XLSXWriter();
foreach ($sheet_names as $sheet_name) {
    $writer->writeSheetHeader($sheet_name, $headers);
    for ($i = 0; $i < 10000; $i++) {
        $writer->writeSheetRow($sheet_name, random_row());
    }
}
$writer->writeToStdOut();
file_put_contents("php://stderr", '#' . floor(memory_get_peak_usage() / 1024 / 1024) . "MB" . "\n");
file_put_contents("php://stderr", '#' . sprintf("%1.2f", microtime(true) - $start) . "s" . "\n");
function random_row()
{
    return $row = array(rand() % 10000, chr(rand(97, 122)) . chr(rand(97, 122)) . chr(rand(97, 122)) . chr(rand(97, 122)) . chr(rand(97, 122)) . chr(rand(97, 122)) . chr(rand(97, 122)), md5(uniqid()), rand() % 10000, rand() % 10000, rand() % 10000, rand() % 10000, rand() % 10000, rand() % 10000, rand() % 10000);
}
All Usage Examples Of XLSXWriter::writeSheetHeader