如果Delphi中的設置不符合您的需求,您可以在加載CSV之前更改它們。但是你應該確保在之後重置它們。
var
Excel, WorkBook: Variant;
KeepDecimalSeparator, KeepThousandsSeparator: String;
KeepUseSystem: Boolean;
begin
Excel := CreateOleObject('Excel.Application');
Excel.Visible := true;
try
KeepDecimalSeparator := Excel.DecimalSeparator;
KeepThousandsSeparator := Excel.ThousandsSeparator;
KeepUseSystem := Excel.UseSystemSeparators;
Excel.DecimalSeparator := '.';
Excel.ThousandsSeparator := ',';
Excel.UseSystemSeparators := false;
WorkBook := Excel.WorkBooks.Open('C:\Temp\1.csv');
finally
Excel.DecimalSeparator := KeepDecimalSeparator;
Excel.ThousandsSeparator := KeepThousandsSeparator;
Excel.UseSystemSeparators := KeepUseSystem;
end;
end;
像小數點分隔符這樣的樂趣與千位分隔符混在一起。 –
Excel與十進制/千位分隔符有嚴重問題 –
謝謝。我會在Windows中檢查我的「區域」設置。可能有一些問題,但這並不能解釋爲什麼其他軟件正在讀取它。 –