将xls文件加载到SpreadSheetGear工作簿时如何设置默认日期格式?

时间:2010-11-03 12:46:00

标签: vb.net excel spreadsheetgear

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

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

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

xlsFile是一个字节数组。

2 个答案:

答案 0 :(得分:4)

我在将excel xlsx导入我的网站时遇到了问题,它将日期从dd / MM / yyyy转移到MM / dd / yyyy虽然系统数据设置为dd / MM / 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)

答案 1 :(得分: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

相关问题