PhpSpreadsheet превращает числовые ячейки в десятичные при чтении - PullRequest
0 голосов
/ 13 декабря 2018

Я пытаюсь прочитать электронную таблицу, однако, когда в ячейке есть только числа, она помещает их как .0 цифр, т. Е. Если значение ячейки равно 123, оно читается как 123.0 int.Есть ли способ прочитать их как необработанную строку?

  try {
        $inputFileType = IOFactory::identify($path);

        try {
            $reader = IOFactory::createReader($inputFileType);
            $reader->setReadDataOnly(true);
            $valuesSpreadsheet = $reader->load($path);

            try {
                $spreadsheetArr = $valuesSpreadsheet->getActiveSheet()->toArray();
                dd($spreadsheetArr);
            }
        }
  }

Таким образом, вывод будет похож на

 $arr = ['A', 'B', 123.0]

, и я хочу достичь

 $arr = ['A', 'B', '123']

1 Ответ

0 голосов
/ 13 декабря 2018

Не могли бы вы попробовать что-то вроде этого:

$valuesSpreadsheet->getActiveSheet()->getStyle('C:C')
    ->getNumberFormat()
    ->setFormatCode(\PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_TEXT);
...