2011-02-09 4 views
21

С PHPExcel, я использую:PHPExcel типа набор данных на диапазон ячеек

$workSheet->fromArray($array);

Чтобы установить мои данные. Тем не менее, один столбец должен быть установлен как строка (число с начальным нулем, ведущий нуль обрезается, если не установлен в строку). Если бы я не использовал метод fromArray, я мог бы установить тип данных, используя PHPExcel_Worksheet::setCellValueExplicit().

Однако я хочу сделать это, используя ряд столбцов. В идеале что-то вроде этого:

$worksheet->getCell('A1:A50')->setDataType(PHPExcel_Cell_DataType::TYPE_STRING); 

Но глядя на код, getCell не позволит диапазон, только одну ячейку. Как я могу это сделать?

ответ

12

В PHPExcel в данный момент нет метода, который позволит вам установить тип данных для диапазона ячеек, только для отдельной ячейки.

Есть несколько вариантов ... сложнее было бы написать настраиваемое связующее значение соты, которое автоматически устанавливает тип данных для этих ячеек, когда значение ячейки задается с помощью параметра fromArray().

То, что вы могли бы сделать вместо этого (и намного проще), состоит в том, чтобы оставить тип данных как число и значение как числовое, но установить маску формата номера, которая сообщает Excel, чтобы отображать числа с ведущими нулями.

$objPHPExcel->getActiveSheet()->getStyle('L3:N2048') 
           ->getNumberFormat()->setFormatCode('0000'); 
Смежные вопросы