Я создаю лист Excel, используя PHPExcel
. Поскольку нам нужна хорошая оптимизация, я избегаю зацикливания в максимуме. Но я больше не могу оптимизировать приведенный ниже код.
$activeSheet->fromArray($excel_rows, null, 'A1');
$activeSheet->getStyle('A2:K'.$index)->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_TEXT );
$activeSheet->getStyle('L2:L'.$index)->getNumberFormat()->setFormatCode( '@' );
$activeSheet->getStyle('U2:W'.$index)->getNumberFormat()->setFormatCode( PHPExcel_Style_NumberFormat::FORMAT_TEXT );
$in = 2;
foreach($micr_pin as $value){
$activeSheet->getCell('H' . $in)->setValueExplicit($value['pin'], PHPExcel_Cell_DataType::TYPE_STRING);
$activeSheet->getCell('M' . $in)->setValueExplicit($value['microchip'], PHPExcel_Cell_DataType::TYPE_STRING);
$in++;
}
Здесь значения pin
и microchip
могут содержать предшествующие нули. Поэтому мне нужно держать их в первенстве. До сих пор я могу сделать это, добавив их в цикл и дать datatype
для каждой ячейки.
Есть ли лучший способ сделать это ( Можно ли дать какое-нибудь пользовательское форматирование? )? pin
имеет фиксированную длину 5. Но microchip
может быть различной длины.