MDL-72744 core_grades: Escape formulas when exporting spreadsheets
This commit is contained in:
committed by
Huong Nguyen
parent
cde19f5864
commit
0963d22572
@@ -449,6 +449,9 @@ class csv_export_writer {
|
||||
}
|
||||
}
|
||||
$delimiter = csv_import_reader::get_delimiter($this->delimiter);
|
||||
foreach ($row as $key => $value) {
|
||||
$row[$key] = \core\dataformat::escape_spreadsheet_formula($value);
|
||||
}
|
||||
fputcsv($this->fp, $row, $delimiter, $this->csvenclosure, '\\');
|
||||
}
|
||||
|
||||
|
||||
@@ -207,6 +207,7 @@ class MoodleExcelWorksheet {
|
||||
$col += 1;
|
||||
|
||||
$celladdress = CellAddress::fromColumnAndRow($col, $row + 1);
|
||||
$str = \core\dataformat::escape_spreadsheet_formula($str);
|
||||
|
||||
$this->worksheet->getStyle($celladdress)->getNumberFormat()->setFormatCode(NumberFormat::FORMAT_TEXT);
|
||||
$this->worksheet->getCell($celladdress)->setValueExplicit($str, DataType::TYPE_STRING);
|
||||
|
||||
@@ -164,6 +164,8 @@ class MoodleODSWorksheet {
|
||||
if (is_array($format)) {
|
||||
$format = new MoodleODSFormat($format);
|
||||
}
|
||||
$str = \core\dataformat::escape_spreadsheet_formula($str);
|
||||
|
||||
$this->data[$row][$col]->value = $str;
|
||||
$this->data[$row][$col]->type = 'string';
|
||||
$this->data[$row][$col]->format = $format;
|
||||
|
||||
Reference in New Issue
Block a user