我想使用phpspreadsheet将数据导出到excel,但是我的数据是12个字符的数字。因此,我需要显示所有字符(121212121212),而不是(1.21212E + 11)。
我尝试使用
PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT
和
PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER
它不起作用。
这是我的单元格格式代码:
$spreadsheet->getActiveSheet()->getStyle('B')->getNumberFormat()
->setFormatCode(PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT);
这是我的值插入代码:
$sheet->setCellValue('A'.$i, $i-1);
$sheet->setCellValue('B'.$i, $useric);
如果我使用FORMAT_TEXT,结果是这样的:
![result](https://i.imgur.com/6xxKDkv.png)
答案 0 :(得分:0)
您可以将formatcode设置为@(字符串)
$spreadsheet->getActiveSheet()->getStyle('B')->getNumberFormat()
->setFormatCode('@');
答案 1 :(得分:0)
在我的情况下,这在所有工作表中都有效
$spreadsheet ->getDefaultStyle()->getNumberFormat()->setFormatCode('#');
答案 2 :(得分:0)
使用 PHPSpreadsheet 时,这就是我所做的。
$spreadsheet->getActiveSheet()
->getCell('A1')
->setValueExplicit(
$someNumber,
\PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING2
);
如果你有机会使用 PHPExcel,也许你可以做这样的事情
$spreadsheet->getActiveSheet()
->setCellValueExplicit('A1', $someNumber, PHPExcel_Cell_DataType::TYPE_STRING);