使用特定系统的区域设置信息加载工作簿

可能的使用场景

以前,您必须更改整个线程的区域设置信息来处理特定区域设置格式的数字和日期,但现在Aspose.Cells提供了LoadOptions.CultureInfo 属性,您可以使用它以特定的区域设置信息加载工作簿,而无需更改整个线程的区域设置信息。

使用特定系统的区域设置信息加载工作簿

以下示例代码显示如何使用特定系统区域设置信息加载工作簿以处理日期。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
using (var inputStream = new MemoryStream())
{
using (var writer = new StreamWriter(inputStream))
{
writer.WriteLine("<html><head><title>Test Culture</title></head><body><table><tr><td>10-01-2016</td></tr></table></body></html>");
writer.Flush();
var culture = new CultureInfo("en-GB");
culture.NumberFormat.NumberDecimalSeparator = ",";
culture.DateTimeFormat.DateSeparator = "-";
culture.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy";
LoadOptions options = new LoadOptions(LoadFormat.Html);
options.CultureInfo = culture;
using (var workbook = new Workbook(inputStream, options))
{
var cell = workbook.Worksheets[0].Cells["A1"];
Assert.AreEqual(CellValueType.IsDateTime, cell.Type);
Assert.AreEqual(new DateTime(2016, 1, 10), cell.DateTimeValue);
}
}
}

以下示例代码显示如何使用特定系统区域设置信息加载工作簿以处理数字。

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
using (var inputStream = new MemoryStream())
{
using (var writer = new StreamWriter(inputStream))
{
writer.WriteLine("<html><head><title>Test Culture</title></head><body><table><tr><td>1234,56</td></tr></table></body></html>");
writer.Flush();
var culture = new CultureInfo("en-GB");
culture.NumberFormat.NumberDecimalSeparator = ",";
culture.DateTimeFormat.DateSeparator = "-";
culture.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy";
LoadOptions options = new LoadOptions(LoadFormat.Html);
options.CultureInfo = culture;
using (var workbook = new Workbook(inputStream, options))
{
var cell = workbook.Worksheets[0].Cells["A1"];
Assert.AreEqual(CellValueType.IsNumeric, cell.Type);
Assert.AreEqual(1234.56, cell.DoubleValue);
}
}
}