2016-04-13 10 views
0

içe aktarırken Excel sayfasından farklı tarih biçimini kullanın MSAccess veritabanına aktardığım bir Excel sayfasından. Excel sayfasından tarih sütununu okuduğumda, bilinen tarih biçimine dönüştürmek istiyorum. İki tane Excel formatı alıyorum, biri dd-mm-yyyy formatlı diğeri ise mm/dd/yyyy.VB.Net:

9/14/2015 tarihli Excel sayfasını içe aktardığımda, "dize geçerli bir tarih saati olarak yeniden yapılandırılmadı" hata iletisini alıyorum.

timesheetDate = xlWorkSheet.Cells

Nasıl bir biçimine tarihten iki farklı biçimlere dönüştürmek için (1, Sütun) .value tempDate = Convert.ToDateTime (timesheetDate)?

cevap

0

Genellikle iki özelliği kullanıyorum: verileri dönüştürürken veya taşırken "ToOADate" ve "FromOADate". Örnek için: Excel'den formunuza bir tarih okumak istiyorsanız Excel'in tarih numarasını sayıya dönüştürün. Formda: sayıyı bir tarihe dönüştür. Bu kısa komut dosyası size yardımcı olur:

Dim DateAsNumber As Integer 
DateAsNumber = Int(Now.ToOADate) 
MsgBox(DateAsNumber) 'if now is 13-Apr-2016 will you get 42473 
Dim MyDate As Date 
MyDate = DateTime.FromOADate(DateAsNumber) 
MsgBox(MyDate) 'this will convert 42473 to 13/4/2016 or 4/13/2016 depending on your system date format.