SpreadJS 14
Features / Culture / Create Custom Culture
In This Topic
    Create Custom Culture
    In This Topic

    You can modify the culture string and create a custom culture using the CultureInfo class.

    The following table lists the class variables, default values, and basic descriptions.

    Variable Name Default Value Description
    currencySymbol "\u00A4" Dollar is "$"
    numberDecimalSeparator "." Decimal point
    numberGroupSeparator "," Thousand separator
    arrayGroupSeparator ";" Separator for array constant in formula
    listSeparator "," Separator for function arguments in formula
    aMDesignator "AM"  
    pMDesignator "PM"  
    abbreviatedMonthNames ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""] Formatter is "MMM"
    abbreviatedDayNames ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] Formatter is "ddd"
    abbreviatedMonthGenitiveNames ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""] Formatter is "MMM"
    dayNames ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] Formatter is "dddd"
    fullDateTimePattern "dddd, dd MMMM yyyy HH:mm:ss" Standard date formatter "F"
    longDatePattern "dddd, dd MMMM yyyy" Standard date formatter "D"
    longTimePattern "HH:mm:ss" Standard date formatter "T" and "U"
    monthDayPattern "MMMM dd" Standard date formatter "M" and "m"
    monthNames ["January", "February", "March", "April", "May", "June", "July",
    "August", "September", "October", "November", "December", ""]
    Formatter is "M" or "MM"
    monthGenitiveNames ["January", "February", "March", "April", "May", "June", "July",
    "August", "September", "October", "November", "December", ""]
    Formatter is "MMMM"
    rFC1123Pattern "ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'" Standard date formatter "R" and "r"
    shortDatePattern "MM/dd/yyyy" Standard date formatter "d"
    shortTimePattern "HH:mm" Standard date formatter "t"
    sortableDateTimePattern "yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss" Standard date formatter "s"
    universalSortableDateTimePattern "yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'" Standard date formatter "u"
    yearMonthPattern "yyyy MMMM" Standard date formatter "y" and "Y"

    You can display the custom culture by setting the cell format using the GeneralFormatter class.

    Using Code

    The following code creates a custom culture and sets a date time formatter for cell (1,0) and (3,0) and a number formatter for cell (0,0).

    JavaScript
    Copy Code
    var myCulture = new GC.Spread.Common.CultureInfo();
    myCulture.NumberFormat.currencySymbol = "€"
    myCulture.NumberFormat.numberDecimalSeparator = ",";
    myCulture.NumberFormat.numberGroupSeparator = ".";
    myCulture.NumberFormat.arrayGroupSeparator = ";";
    myCulture.NumberFormat.arrayListSeparator = "\\";
    myCulture.NumberFormat.listSeparator = ";";
    myCulture.DateTimeFormat.amDesignator = "";
    myCulture.DateTimeFormat.pmDesignator = "";
    myCulture.DateTimeFormat.abbreviatedMonthNames = ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", ""];
    myCulture.DateTimeFormat.abbreviatedDayNames = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
    myCulture.DateTimeFormat.abbreviatedMonthGenitiveNames = ["Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez", ""];
    myCulture.DateTimeFormat.dayNames = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"];
    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 = "dd MMMM";
    myCulture.DateTimeFormat.monthNames = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", ""];
    myCulture.DateTimeFormat.monthGenitiveNames = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember", ""];
    myCulture.DateTimeFormat.shortDatePattern = "dd.MM.yyyy";
    myCulture.DateTimeFormat.shortTimePattern = "HH:mm";
    myCulture.DateTimeFormat.yearMonthPattern = "MMMM yyyy";
    //add one culture
    GC.Spread.Common.CultureManager.addCultureInfo("de-DE", myCulture);
    //switch to "de-DE" culture
    GC.Spread.Common.CultureManager.culture("de-DE");
    var d = new Date();
    //With culture
    activeSheet.setValue(1, 0, new Date(d.setDate(d.getDate() + 1)));
    activeSheet.getCell(1, 0).formatter("mmm");
    var dvalue = 12345.6789;
    activeSheet.setColumnWidth(0, 200);
    activeSheet.setColumnWidth(1, 200);
    activeSheet.setColumnWidth(2, 200);
    activeSheet.setValue(0, 0, dvalue);
    activeSheet.getCell(0, 0).formatter("###,###.00");
    activeSheet.setValue(2, 0, new Date(d.setDate(d.getDate() + 1)));
    //With culture
    activeSheet.getCell(3, 0).formatter("yyyy/mmm/dddd");
    activeSheet.setValue(3, 0, new Date());
    
    See Also