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('$#,###');