我使用PHPExcel库创建了一个excel。 Everthing进展顺利但当我插入数字值前导零时,它从该数字中删除了零。
foreach($option['option_value'] as $option_value){
$activeSheet->SetCellValue('A'.$row, $product['model']);
$activeSheet->SetCellValue('B'.$row, $product['name']);
$activeSheet->setCellValueExplicit('C'.$row, '0000', PHPExcel_Cell_DataType::TYPE_STRING);
if(empty($option_value['barcode'])){
$activeSheet->SetCellValue('C'.$row, 'NA');
}else{
$activeSheet->SetCellValue('C'.$row, $option_value['barcode']);
}
$activeSheet->SetCellValue('D'.$row, $option_value['name']);
$activeSheet->SetCellValue('E'.$row, round($price,2));
$activeSheet->SetCellValue('F'.$row, $option_value['quantity']);
$row++;
}
我使用了以下内置函数将列类型设置为文本但没有得到:
$activeSheet->getStyle('C1:C'.$row)->getNumberFormat()->setFormatCode('00000'); or
$activeSheet->getStyle('C1:C'.$row)->getNumberFormat()->setFormatCode('0'); or
$activeSheet->getStyle('C')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
有谁能告诉我在上面的代码中我做错了什么?有没有其他替代方法来修复相同的问题。
等待回复。
答案 0 :(得分:1)
数字没有前导零。要么你有一串数字,第一个是零;或者格式化一个数字,以显示,带有前导零。
或者:
// Set the value explicitly as a string
$objPHPExcel->getActiveSheet()
->setCellValueExplicit('C2', '0000', PHPExcel_Cell_DataType::TYPE_STRING);
或
// Set the value as a number formatted with leading zeroes
$objPHPExcel->getActiveSheet()
->setCellValue('C3', 0);
$objPHPExcel->getActiveSheet()
->getStyle('C3')
->getNumberFormat()->setFormatCode('0000');