2012-03-09 8 views

cevap

21

Ya kaldırıldığı zaman: Ben birinci durumda olduğunu

// Set the value explicitly as a string 
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', '0029', PHPExcel_Cell_DataType::TYPE_STRING); 

veya

// Set the value as a number formatted with leading zeroes 
$objPHPExcel->getActiveSheet()->setCellValue('A3', 29); 
$objPHPExcel->getActiveSheet()->getStyle('A3')->getNumberFormat()->setFormatCode('0000'); 

Not setCellValueExplicit() yöntemini çağırarak setCellValue() yöntemini değil. Kodunuzda, setCellValue() için PHPExcel_Cell_DataType :: TYPE_STRING parametresinin hiçbir anlamı yoktur ve argüman basitçe yok sayılır. ararken

+0

Teşekkürler, ikisi de işe yarar, ilkini kullanarak sona erdi. – Bogdan

+0

Verileri dışa aktarırken veri türünü belirtmek için _without_ hücrenin adını (ör. A3) açıkça belirtmek var mı? – crmpicco

+0

@crmpicco - Anlamıyorum .... Bir hücre değeri belirlemeden bir hücre değeri ayarlıyorsanız, PHPExcel'in hangi hücre değerini ayarlamak istediğinizi bilmesi gerekir? –

7

kolay çözüm setCellValueExplicitByColumnAndRow ben bu konuya rastladım

$PHPExcel->getActiveSheet()->setCellValueExplicitByColumnAndRow($columnPointer, $rowPointer, $value); 
+0

Bu benim için harika çalıştı –

0

($ pColumn = 0, $ Prow = 1, $ pvalue = null, $ pDataType = PHPExcel_Cell_DataType :: TYPE_STRING) kullanmaktır bir çözüm ve there is my other answer için hücre biçimlendirmesinin kaybolmasına neden olan sütun veya satır silme durumunda yararlı olabilir ...

1

Sadece alternatif bir çözümle karşılaştım ve burada yayınlayacağımı düşündüm. Bu, yalnızca dışa aktarılacak html tablosunu oluştururken gerekli .xls hücrelerini biçimlendiren kütüphanelerin kullanımını gerektirmez.

<td style="mso-number-format:'@';">your number w/leading zeroes here</td> 

Umarım birileri yararlı bulur. Bu hile yaptı Benim için

http://www.ozgrid.com/Excel/CustomFormats.htm

0

benim yaptığım gibi

// Set the value explicitly as a string 
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', '0029', PHPExcel_Cell_DataType::TYPE_STRING); 
0

birisi, bu yardımcı olabilir oluşan gelirler zaman:

$inputFileName = 'file.xls'; 
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName); 
$objWorkSheet = $objPHPExcel->getActiveSheet(); 
$objWorkSheet->getCell('A1')->setValueExplicit('0029', PHPExcel_Cell_DataType::TYPE_STRING); 

olarak Aşağıda tam biçimlendirme kodları ile referanstır this answer'dan esinlenilmiştir. Umarım bu birilerine yardım eder.