Php 带文本的数字单元格格式

Php 带文本的数字单元格格式,php,phpspreadsheet,Php,Phpspreadsheet,我想使用PHPSReadSheet将数据导出到excel,但我的数据是12个字符的数字。所以我需要显示所有字符(12121212),而不是(1.212e+11) 我尝试了使用 PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT 及 它不起作用 这是我的单元格格式代码: $spreadsheet->getActiveSheet()->getStyle('B')->getNumberFormat() ->

我想使用PHPSReadSheet将数据导出到excel,但我的数据是12个字符的数字。所以我需要显示所有字符(12121212),而不是(1.212e+11)

我尝试了使用

PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT

它不起作用

这是我的单元格格式代码:

$spreadsheet->getActiveSheet()->getStyle('B')->getNumberFormat()
    ->setFormatCode(PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT);
这是我的值插入代码:

$sheet->setCellValue('A'.$i, $i-1);
        $sheet->setCellValue('B'.$i, $useric);
如果我使用文本格式,结果如下:

![result](https://i.imgur.com/6xxKDkv.png)
您可以将设置为@(字符串)


在我的情况下,这在所有工作表中都有效

$spreadsheet ->getDefaultStyle()->getNumberFormat()->setFormatCode('#');

当使用PHPSpreadsheet时,我就是这么做的

$spreadsheet->getActiveSheet()
            ->getCell('A1')
            ->setValueExplicit(
                $someNumber,
                \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING2
            );
如果你有机会使用PHPExcel,也许你可以这样做

$spreadsheet->getActiveSheet()
            ->setCellValueExplicit('A1', $someNumber, PHPExcel_Cell_DataType::TYPE_STRING);
$spreadsheet->getActiveSheet()
            ->getCell('A1')
            ->setValueExplicit(
                $someNumber,
                \PhpOffice\PhpSpreadsheet\Cell\DataType::TYPE_STRING2
            );
$spreadsheet->getActiveSheet()
            ->setCellValueExplicit('A1', $someNumber, PHPExcel_Cell_DataType::TYPE_STRING);