您知道如何在写入值之前设置单元格类型吗?我希望能够设置类似“常规”,“文本”和“数字”的类型。
谢谢。
答案 0 :(得分:25)
当文本是带前导零的数字时,请执行以下操作: (Cuando el texto esunnúmeroqueempieza por ceros,hacer)
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', $val,PHPExcel_Cell_DataType::TYPE_STRING);
答案 1 :(得分:19)
与向其写入值后设置类型(数字格式掩码)的方式相同:
$objPHPExcel->getActiveSheet()
->getStyle('A1')
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_GENERAL
);
或
$objPHPExcel->getActiveSheet()
->getStyle('A1')
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_TEXT
);
虽然“Number”不是有效的格式掩码。
您可以在Classes / PHPExcel / Style / NumberFormat.php中找到预定义格式掩码的列表,或将该值设置为任何有效的Excel数字格式掩码字符串。
答案 2 :(得分:4)
试试这个
$currencyFormat = '_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)';
$textFormat='@';//'General','0.00','@'
$excel->getActiveSheet()->getStyle('B1')->getNumberFormat()->setFormatCode($currencyFormat);
$excel->getActiveSheet()->getStyle('C1')->getNumberFormat()->setFormatCode($textFormat);`
答案 3 :(得分:1)
关注Mark的建议,并将其设置为整个工作簿中的默认数字格式:
$objPHPExcel = new PHPExcel();
$objPHPExcel->getDefaultStyle()
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_TEXT
);
它完美无瑕。谢谢Mark Baker。
答案 4 :(得分:1)
我希望数字与我从数据库获得的数字相同。
1)00100.220000
2)00123
3)0000.0000100
所以我修改了下面的代码
$objPHPExcel->getActiveSheet()
->setCellValue('A3', '00100.220000');
$objPHPExcel->getActiveSheet()
->getStyle('A3')
->getNumberFormat()
->setFormatCode('00000.000000');
$objPHPExcel->getActiveSheet()
->setCellValue('A4', '00123');
$objPHPExcel->getActiveSheet()
->getStyle('A4')
->getNumberFormat()
->setFormatCode('00000');
$objPHPExcel->getActiveSheet()
->setCellValue('A5', '0000.0000100');
$objPHPExcel->getActiveSheet()
->getStyle('A5')
->getNumberFormat()
->setFormatCode('0000.0000000');
答案 5 :(得分:0)
对于前导零和逗号分隔的数字:
您可以输入'A'影响整个列'。
$objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1);
然后,您可以像往常一样写入单元格。