Клетки PHPSPreadSheet не отформатируются, как указаноPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Клетки PHPSPreadSheet не отформатируются, как указано

Сообщение Anonymous »

Я пытаюсь установить формат, отличный от «Общий» на ячейках, но они остаются как «Общие».
Это упрощение моего кода:

Код: Выделить всё

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Cell\DataType;

// Data sample
$data = [
['Pete', 1, 'peter@foo.com', 23, 600000000000],
['Carl', 2, 'carl@bar.com', 29, 600000000000],
];
// Format for each column
$column_types = [
'Name'                  => DataType::TYPE_STRING,
'Id'                    => DataType::TYPE_NUMERIC,
'Email'                 => DataType::TYPE_STRING,
'Age'                   => DataType::TYPE_NUMERIC,
'Commerce ID'           => DataType::TYPE_NUMERIC,
];
$column_types = array_values($data);

$spreadsheet = new Spreadsheet();
$spreadsheet->setActiveSheetIndex(0);
$sheet = $spreadsheet->getActiveSheet();

foreach ($data as $row => $row_data) {
$i = 1;
$row++;
foreach ($row_data as $value) {
// VALUE IS SET, BUT NOT DATA TYPE!!
$sheet->getCellByColumnAndRow($i, $row)->setValueExplicit($value, $column_types[$i - 1]);
$i++;
}
}

$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
$writer->setPreCalculateFormulas(false);
$writer->save(PATH_TEMP . 'my_excel.xlsx');
Теперь, когда я открываю полученный XLSX, все ячейки будут «общими», а не номером, если ему присваивались dataType :: type_numeric . И что хуже, последний столбец, который составляет "600000000000" , преобразуется в "6e+11" , даже если это все еще «общая» ячейка.
Что мне делать?>

Подробнее здесь: https://stackoverflow.com/questions/748 ... -specified
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»