2014-02-19 3 views
0

У меня есть значения для чтения значений из excel, мое местное время - MM/dd/YYYY, хотя я хотел бы читать как dd/MM/YYYY так же, как и в excel. Unfortunally как-то приложение преобразует значения из Excel в мое местное время, я пытался использовать этотНастройка культуры, месяц возвращается с днем ​​

Thread.CurrentThread.CurrentCulture = new CultureInfo("pl-PL"); 

Хотя польский культура dd/MM/YYYY, но это не помогает, что я могу сделать?

Для чтения первенствовать я использую interoop как это:

var application = new Application(); 
var workbooks = application.Workbooks; 
var workbook = workbooks.Open(file); 

, а затем сохранить, как CVS и читать CSV, чтобы читать быстрее

var tempFile = file.Substring(0, file.Length - 4) + ".csv"; 

workbook.SaveAs(tempFile, XlFileFormat.xlCSVWindows); 

var reader = new StreamReader(File.OpenRead(tempFile)); 
reader.ReadLine(); 

while (!reader.EndOfStream) 

и проблема заключается в том, что с БЭ локали я получил 2/25/2013, и если я ставлю на PL, я получил 25/2/2013, я бы всегда имел второе значение.

+0

Как вы извлечения значения из Excel? Вы напрямую взаимодействуете с Excel или просто читаете CSV или XLS? Пожалуйста, покажите код, который у вас есть, для того, как вы читаете данные. –

+0

Было бы полезно увидеть строку кода, вызывающую проблему. Используете ли вы функцию DateTime.Parse() для этого или что-то еще? –

ответ

1

Если вы получаете дату в виде строки из Excel в форме MM/dd/yyyy, вы можете конвертировать в dd/MM/yyyy.

Вам нужно разобрать строку даты из Excel с помощью DateTime.ParseExact() метода, как показано ниже:

Попробуйте:

 String date = "02/21/2014"; 
     DateTime dt = DateTime.ParseExact(date, "MM/dd/yyyy", CultureInfo.InvariantCulture); 
     date=dt.ToString("dd/MM/yyyy"); 
+0

В последней строке вы снова не передаете 'CultureInfo.InvariantCulture' метод' ToString'. Вы также не «избегаете» символа '/' косой черты. Это означает, что косая черта заменяется любой строкой, которая является разделителем даты текущего 'CultureInfo'. Это предназначено? –

Смежные вопросы