Вы знаете, как я могу установить тип ячейки перед записью в нее значения? Я хотел бы иметь возможность устанавливать такие типы, как "Общие", "Текст" и "Число".
Спасибо.
Вы знаете, как я могу установить тип ячейки перед записью в нее значения? Я хотел бы иметь возможность устанавливать такие типы, как "Общие", "Текст" и "Число".
Спасибо.
Когда текст является числом с ведущими нулями, тогда выполните: (Cuando el texto es un número que empieza por ceros, hacer)
$objPHPExcel->getActiveSheet()->setCellValueExplicit('A1', $val,PHPExcel_Cell_DataType::TYPE_STRING);
Точно так же, как вы задали тип (маску формата номера) после записи значения на него:
$objPHPExcel->getActiveSheet()
->getStyle('A1')
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_GENERAL
);
или
$objPHPExcel->getActiveSheet()
->getStyle('A1')
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_TEXT
);
Хотя "Число" не является допустимой маской формата.
Вы можете найти список предопределенных масок формата в Classes/PHPExcel/Style/NumberFormat.php или установить значение для любой допустимой строки маскировки формата номера Excel.
попробуй это
$currencyFormat = '_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)';
$textFormat='@';//'General','0.00','@'
$excel->getActiveSheet()->getStyle('B1')->getNumberFormat()->setFormatCode($currencyFormat);
$excel->getActiveSheet()->getStyle('C1')->getNumberFormat()->setFormatCode($textFormat);'
Затем следуйте указаниям Mark и сделайте это, чтобы установить форматирование по умолчанию для текста во всей книге:
$objPHPExcel = new PHPExcel();
$objPHPExcel->getDefaultStyle()
->getNumberFormat()
->setFormatCode(
PHPExcel_Style_NumberFormat::FORMAT_TEXT
);
И это работает безупречно. Спасибо, Марк Бейкер.
Я хотел, чтобы номер был таким же, как я, например, из базы данных.
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');
Для чисел с ведущими нулями и запятыми:
Вы можете поставить "А", чтобы повлиять на весь столбец ".
$objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1);
Затем вы можете написать в ячейку, как обычно.