1

当我将用户创建的 xls 文件加载到 SpreadSheetGear 工作簿时,它将日期格式从 dd/mm/yyyy 更改为 mm/dd/yyyy。我怎样才能防止这种情况?

我使用下面的代码(VB.NET)来加载 xls 文件:

WorkbookView1.ActiveWorkbook =  
    SpreadsheetGear.Factory.GetWorkbookSet.Workbooks.OpenFromMemory(xlsFile)

xlsFile 是一个字节数组。

4

2 回答 2

4

我在将 excel xlsx 导入我的网站时遇到问题,尽管系统数据设置为 dd/MM/yyyy,但它正在将日期从 dd/MM/yyyy 转移到 MM/dd/yyyy,下面的方法给了我正确的格式我想。

 Dim dsFromExcel As DataSet = New DataSet
 Dim mywb As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook(strFileName)
 Dim myws As SpreadsheetGear.IWorksheet = mywb.Sheets(0)
 Dim Myrange As SpreadsheetGear.IRange = myws.Cells

'this will set the format of the first column A to this date format
 Myrange("A:A").NumberFormat = "MM/dd/yyyy HH:mm:ss"

'importing the data to a dataset/datatable
 dsFromExcel = mywb.GetDataSet(SpreadsheetGear.Data.GetDataFlags.FormattedText)

Dim dt As DataTable = New DataTable
dt = dsFromExcel.Tables(0)
于 2011-10-19T13:39:57.770 回答
1

您应该能够使用默认为dd/mm/yyyy. 这可能是您当前的文化。

Dim myWorkBook As SpreadsheetGear.IWorkbook = SpreadsheetGear.Factory.GetWorkbook(fileName, new System.Globalization.CultureInfo('es-PR'))

该站点很好地概述了 .Net Framework 文化默认设置。 http://www.basicdatepicker.com/samples/cultureinfo.aspx

于 2016-08-04T13:06:00.267 回答