Posted 23 November 2023, 5:45 am EST - Updated 23 November 2023, 5:52 am EST
Hi,
I created this file in v14.1: spreadjs.zip
When I open it in v16, my formulas are in error:
For open the file, I use the Italian culture:
var myCulture = new GC.Spread.Common.CultureInfo();
myCulture.NumberFormat.currencyDecimalDigits = 2;
myCulture.NumberFormat.currencyDecimalSeparator = ',';
myCulture.NumberFormat.currencyGroupSeparator = '.';
myCulture.NumberFormat.currencyGroupSizes = [3];
myCulture.NumberFormat.currencyNegativePattern = 0;
myCulture.NumberFormat.currencyPositivePattern = 0;
myCulture.NumberFormat.currencySymbol = '€';
myCulture.NumberFormat.digitSubstitution = 1;
myCulture.NumberFormat.isReadOnly = true;
myCulture.NumberFormat.numberGroupSizes = [3];
myCulture.NumberFormat.nanSymbol = 'NaN';
myCulture.NumberFormat.nativeDigits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
myCulture.NumberFormat.numberNegativePattern = 1;
myCulture.NumberFormat.negativeInfinitySymbol = '-Infinity';
myCulture.NumberFormat.negativeSign = '-';
myCulture.NumberFormat.numberDecimalDigits = 2;
myCulture.NumberFormat.numberDecimalSeparator = ',';
myCulture.NumberFormat.numberGroupSeparator = '.';
myCulture.NumberFormat.positiveInfinitySymbol = 'Infinity';
myCulture.NumberFormat.positiveSign = '+';
myCulture.NumberFormat.percentDecimalDigits = 2;
myCulture.NumberFormat.percentDecimalSeparator = '.';
myCulture.NumberFormat.percentGroupSeparator = ',';
myCulture.NumberFormat.percentGroupSizes = [3];
myCulture.NumberFormat.percentNegativePattern = 0;
myCulture.NumberFormat.percentPositivePattern = 0;
myCulture.NumberFormat.percentSymbol = '%';
myCulture.NumberFormat.perMilleSymbol = '‰';
myCulture.NumberFormat.listSeparator = ';';
myCulture.NumberFormat.arrayListSeparator = '\\\\';
myCulture.NumberFormat.arrayGroupSeparator = ';';
myCulture.NumberFormat.dbNumber = {};
myCulture.NumberFormat.standardDictionaryNumbers.Hundreds = 'Hundreds';
myCulture.NumberFormat.standardDictionaryNumbers.Thousands = 'Thousands';
myCulture.NumberFormat.standardDictionaryNumbers.Millions = 'Millions';
myCulture.NumberFormat.standardDictionaryNumbers.Billions = 'Billions';
myCulture.NumberFormat.standardDictionaryNumbers.Trillions = 'Trillions';
myCulture.DateTimeFormat.abbreviatedDayNames = ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'];
myCulture.DateTimeFormat.abbreviatedMonthGenitiveNames = ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'];
myCulture.DateTimeFormat.abbreviatedMonthNames = ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'];
myCulture.DateTimeFormat.amDesignator = 'AM';
myCulture.DateTimeFormat.calendarIsReadOnly = true;
myCulture.DateTimeFormat.calendarWeekRule = 0;
myCulture.DateTimeFormat.Calendar = { 'MinSupportedDateTime': '@-62135568000000@', 'MaxSupportedDateTime': '@253402300799999@', 'AlgorithmType': 1, 'CalendarType': 1, 'Eras': [1], 'TwoDigitYearMax': 2029, '': true };
myCulture.DateTimeFormat.dateSeparator = '/';
myCulture.DateTimeFormat.dayNames = ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'];
myCulture.DateTimeFormat.defaultDatePattern = 'dd/MM/yyyy HH:mm:ss';
myCulture.DateTimeFormat.firstDayOfWeek = 0;
myCulture.DateTimeFormat.fullDateTimePattern = 'dddd d MMMM yyyy HH:mm:ss';
myCulture.DateTimeFormat.longDatePattern = 'dddd d MMMM yyyy';
myCulture.DateTimeFormat.longTimePattern = 'HH:mm:ss';
myCulture.DateTimeFormat.monthDayPattern = 'MMMM dd';
myCulture.DateTimeFormat.monthGenitiveNames = ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'];
myCulture.DateTimeFormat.monthNames = ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'];
myCulture.DateTimeFormat.nativeCalendarName = 'Gregorian Calendar';
myCulture.DateTimeFormat.pmDesignator = 'PM';
myCulture.DateTimeFormat.shortDatePattern = 'dd/MM/yyyy';
myCulture.DateTimeFormat.shortestDayNames = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
myCulture.DateTimeFormat.shortTimePattern = 'HH:mm';
myCulture.DateTimeFormat.timeSeparator = ':';
myCulture.DateTimeFormat.yearMonthPattern = 'MMMM yyyy';
myCulture.DateTimeFormat.filterDialogDateFormatter = 'yyyy/mmmm/dd';
myCulture.DateTimeFormat.preselectedFormatters = [];
myCulture.DateTimeFormat.eraFormatter = ['ge/M/d', 'ge-M-d', 'ge.M.d', 'gee/MM/dd'];
GC.Spread.Common.CultureManager.addCultureInfo('it-IT',myCulture);
GC.Spread.Common.CultureManager.culture('it-IT');
I tried to use the recalcAll() function to recalculate my formulas but It seems to work only after the user did a selection in the document …
So why the document is now opened with errors?
Why the recalcAll() command doesn’t work properly at the opening of the document?