Как поместить 0001 в отчет Excel, используя PHPExcel

0

У меня возникли проблемы с моим кодом в PHPexcel при генерации отчета. У меня есть цифры, такие как 0001, 0002, 0087 в текстовом поле, и когда я переношу его в Excel, чтобы сделать отчет, вывод 1, 2, 87. Почему это?

мой var для передачи значения для генерации отчета excel с использованием PHPExcel

$aic = isset($_POST['aic'.$n]) ? $_POST['aic'.$n] : "";
  • 0
    Можете ли вы добавить ( ' ) символ одинарных кавычек к входным данным из тех текстовых полей, где данные являются числовыми, а слева добавляются нули?
  • 0
    Является ли формат ячейки ячейки, в которую вы переводите, по умолчанию левым (общим)? Вы можете изменить его на 4-значный номер
Показать ещё 1 комментарий
Теги:
phpexcel

2 ответа

3
Лучший ответ

Я думаю, что настройка формата вашей ячейки на 4 цифры должна сделать трюк. Попробуй это:

$objPHPExcel->getActiveSheet()->getStyle('A1')->getNumberFormat()->setFormatCode('0000');
3

Ответ на вашу проблему приведен в документации;)

https://github.com/PHPOffice/PHPExcel/blob/develop/Documentation/markdown/Overview/07-Accessing-Cells.md#setting-a-number-with-leading-zeroes

Есть два способа достижения этого:

Задайте тип данных как строку

// Set cell A8 with a numeric value, but tell PHPExcel it should be treated as a string
$objPHPExcel->getActiveSheet()->setCellValueExplicit(
    'A8', 
    "01513789642",
    PHPExcel_Cell_DataType::TYPE_STRING
);

или установить определенный формат номера:

// Set cell A9 with a numeric value
$objPHPExcel->getActiveSheet()->setCellValue('A9', 1513789642);
// Set a number format mask to display the value as 11 digits with leading zeroes
$objPHPExcel->getActiveSheet()->getStyle('A9')
    ->getNumberFormat()
    ->setFormatCode(
        '00000000000'
    );

Ещё вопросы

Сообщество Overcoder
Наверх
Меню