我正在尝试更改整列的数据类型(例如:我需要将“M”列更改为常规格式)。它在数量字段中显示为2.00
,我需要将整个列更改为通用格式,即。显示为"2"
。但它没有改变数据类型。
以下是代码:
$objPHPExcel->getActiveSheet()
->setCellValue(
$aCells[$eExcelColumn] . $eExcelRow,
$sCellData ,
PHPExcel_Cell_DataType::TYPE_NUMERIC
);
$objPHPExcel->getActiveSheet()->getStyle('M1:M97')
->getNumberFormat()
->setFormatCode('0');
如何将整列“M”作为一般格式
答案 0 :(得分:13)
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);
答案 1 :(得分:5)
你可以这样做一个列:
$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);
我从实际基数中提取的列和行选择的更多示例:
$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('$#,###');