- поддержку скрытия полей
- поддержку полей только для чтения
- жестко закодирует скрытый="false" в тег col согласно $sheet->file_writer->write( '');
Код: Выделить всё
initializeSheet - не передает ему ширину столбца, как указано в $this->initializeSheet($sheet_name);
Код: Выделить всё
writeSheetRow
Код: Выделить всё
$number_format,//contains excel format like 'YYYY-MM-DD HH:MM:SS'
'number_format_type' => $number_format_type, //contains friendly format like 'datetime'
'default_cell_style' => $cell_style_idx,
);
}
return $column_types;
}
private static function numberFormatStandardized($num_format)
{
if ($num_format=='money') { $num_format='dollar'; }
if ($num_format=='number') { $num_format='integer'; }
if ($num_format=='string') $num_format='@';
else if ($num_format=='integer') $num_format='0';
else if ($num_format=='date') $num_format='YYYY-MM-DD';
else if ($num_format=='datetime') $num_format='YYYY-MM-DD HH:MM:SS';
else if ($num_format=='time') $num_format='HH:MM:SS';
else if ($num_format=='price') $num_format='#,##0.00';
else if ($num_format=='dollar') $num_format='[$$-1009]#,##0.00;[RED]-[$$-1009]#,##0.00';
else if ($num_format=='euro') $num_format='#,##0.00 [$€-407];[RED]-#,##0.00 [$€-407]';
$ignore_until='';
$escaped = '';
for($i=0,$ix=strlen($num_format); $inumber_formats, $number_format);
$lookup_string = $number_format_idx.";".$cell_style_string;
$cell_style_idx = self::add_to_list_get_index($this->cell_styles, $lookup_string);
return $cell_style_idx;
}
}
Код: Выделить всё
$file->write('
');
РЕДАКТИРОВАТЬ
Согласно ответу Оливье, я исправил FinalizeSheet согласно
Код: Выделить всё
protected function finalizeSheet($sheet_name)
{
if (empty($sheet_name) || $this->sheets[$sheet_name]->finalized)
return;
$sheet = &$this->sheets[$sheet_name];
$sheet->file_writer->write( '');
$sheet->file_writer->write( '');
if (!empty($sheet->merge_cells)) {
$sheet->file_writer->write( '');
foreach ($sheet->merge_cells as $range) {
$sheet->file_writer->write( '');
}
$sheet->file_writer->write( '');
}
$max_cell = self::xlsCell($sheet->row_count - 1, count($sheet->columns) - 1);
if ($sheet->auto_filter) {
$sheet->file_writer->write( '');
}
$sheet->file_writer->write( '
');
$sheet->file_writer->write( '');
$sheet->file_writer->write( '');
$sheet->file_writer->write( '');
$sheet->file_writer->write( '&C&"Times New Roman,Regular"&12&A');
$sheet->file_writer->write( '&C&"Times New Roman,Regular"&12Page &P');
$sheet->file_writer->write( '');
$sheet->file_writer->write('');
$max_cell_tag = '';
$padding_length = $sheet->max_cell_tag_end - $sheet->max_cell_tag_start - strlen($max_cell_tag);
$sheet->file_writer->fseek($sheet->max_cell_tag_start);
$sheet->file_writer->write($max_cell_tag.str_repeat(" ", $padding_length));
$sheet->file_writer->close();
$sheet->finalized=true;
}
Код: Выделить всё
$value = '
' . $value;
Подробнее здесь: https://stackoverflow.com/questions/798 ... a-subclass
Мобильная версия