phpexcel – 如何改变excel整列的数据types
我试图改变整个列的数据types(例如:我需要更改为“M”列为一般格式)。 它的数量显示为2.00
字段,我需要将这个整列更改为一般格式即。 显示为"2"
。 但是它不改变数据types。
这里是代码:
$objPHPExcel->getActiveSheet() ->setCellValue( $aCells[$eExcelColumn] . $eExcelRow, $sCellData , PHPExcel_Cell_DataType::TYPE_NUMERIC ); $objPHPExcel->getActiveSheet()->getStyle('M1:M97') ->getNumberFormat() ->setFormatCode('0');
如何将整列“M”作为一般格式
PHPExcel不支持列或行样式:您需要为range
单元格设置样式,完全按照您的操作
$objPHPExcel->getActiveSheet()->getStyle('M1:M97') ->getNumberFormat() ->setFormatCode('0');
如果你想要General
格式而不是'0'
,那么把它设置为General
就可以了:
$objPHPExcel->getActiveSheet()->getStyle('M1:M97') ->getNumberFormat() ->setFormatCode('General');
要么
$objPHPExcel->getActiveSheet()->getStyle('M1:M97') ->getNumberFormat() ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_GENERAL);
你可以做一个这样的列:
$objPHPExcel->getActiveSheet()->getStyle('M:M') ->getNumberFormat() ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_GENERAL);
一个完整的工作示例。 A列中的结果有两个2,B列两个2.00
$sheet = $objPHPExcel->getActiveSheet(); $sheet->getStyle('A:A') ->getNumberFormat() ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_GENERAL); $sheet->getStyle('B:B') ->getNumberFormat() ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_00); $sheet->setCellValue('A1', 2); $sheet->setCellValue('A2', 2.0); $sheet->setCellValue('B1', 2); $sheet->setCellValue('B2', 2.0);
我从我的实际基地中抽取了一些列和行select的例子:
$objPHPExcel->getActiveSheet()->getStyle('1:1')->getFont()->setBold(true); $objPHPExcel->getActiveSheet()->getStyle('A:A')->getNumberFormat()->setFormatCode('yyyy/mm'); $objPHPExcel->getActiveSheet()->getStyle('D:D')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); $objPHPExcel->getActiveSheet()->getStyle('E:E')->getNumberFormat()->setFormatCode('$#,###');