2010-08-27 6 views
1

J'ai une application Delphi qui lit les données à partir d'une feuille de calcul Excel en utilisant un code similaire à ce qui suit:Ole Excel Delphi Date de problème

procedure TForm1.Button1Click(Sender: TObject); 
var 
    xlApp, xlWorkBook, xlWorkSheet, arr: Variant; 
begin 
    xlApp := CreateOLEObject('Excel.Application'); 
    xlApp.Visible := False; 

    xlWorkBook := xlApp.Workbooks.Open('C:\Temp\Book1.xlsx'); 
    xlWorkSheet := xlApp.WorkSheets[1]; 
    arr := xlWorksheet.Range['E2:E2'].Value; 
    xlApp.Quit; 
end; 

La valeur stockée dans la feuille de calcul dans la cellule E2: E2 est de 10/01/1900 (jj/mm/aaaa). Cependant, la valeur renvoyée est le 01/09/1900, soit la veille. Pourquoi cela se passe-t-il quand il semble fonctionner correctement pour toutes les dates des autres années à partir de 1900?

Répondre

Questions connexes