Skip to content
Browse files

MDL-21446 truncate >31 char worksheet names that otherwise break Exce…

…l export.
  • Loading branch information...
1 parent c096042 commit 0484f1ef01766fa3a1e0f7a259935ae7799f0dee @timhunt timhunt committed Mar 8, 2011
Showing with 9 additions and 0 deletions.
  1. +9 −0 lib/excellib.class.php
View
9 lib/excellib.class.php
@@ -138,6 +138,15 @@ class MoodleExcelWorksheet {
*/
function MoodleExcelWorksheet($name, &$workbook, $latin_output=false) {
+ if (strlen($name) > 31) {
+ // Excel does not seem able to cope with sheet names > 31 chars.
+ // With $latin_output = false, it does not cope at all.
+ // With $latin_output = true it is supposed to work, but in our experience,
+ // it doesn't. Therefore, truncate in all circumstances.
+ $textlib = textlib_get_instance();
+ $name = $textlib->substr($name, 0, 31);
+ }
+
/// Internally, add one sheet to the workbook
$this->pear_excel_worksheet =& $workbook->addWorksheet($name);
$this->latin_output = $latin_output;

0 comments on commit 0484f1e

Please sign in to comment.
Something went wrong with that request. Please try again.