PHPExcel Worksheet! A2 -> Ошибка формулы: неожиданно, - PullRequest
0 голосов
/ 23 января 2020

После нескольких часов, потраченных на ошибку PHPExcel Рабочий лист! A2 -> Ошибка формулы: неожиданно, Я обнаружил, что

$sheet->setCellValue($col . $row, $value);

выдает мне эту ошибку, если я пытаюсь вставить строку = ER =, sro в клетку. Когда я убрал первый = знак, это начало работать. Как ни странно это выглядит = ER = это название настоящей компании. И я хочу записать это как строку в ячейку.

Вопрос , какие знаки и как следует экранировать , чтобы избежать такого поведения PHPExcel? Я ожидал, что PHPExcel избежит этого. Как когда я отправляю данные в БД ...

1 Ответ

1 голос
/ 23 января 2020

Вам нужно будет начать ячейку с одинарной кавычки ', чтобы избежать того, что начальный знак равенства будет рассматриваться как начало суммы. Используйте:

$sheet->setCellValue($col . $row, "'" . $value);

Если в кавычках возникают проблемы с другими значениями, такими как даты и числа, вы можете проверить $value, чтобы увидеть, начинается ли оно с =, и, если оно добавляет одинарные кавычки, в противном случае оставить его один.

$sheet->setCellValue($col . $row,(substr($value,0,1) == '=' ? "'" . $value : $value));
...