[]
        
(Showing Draft Content)

Create Custom Culture

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"

The dollar is "$"

numberDecimalSeparator

"."

Decimal point

numberGroupSeparator

","

Thousand separator

arrayGroupSeparator

";"

Separator for array constant in the formula

listSeparator

","

Separator for function arguments in the 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.


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

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());