Как изменить формат столбца на дату с помощью кода - PullRequest
0 голосов
/ 12 июля 2019

Мне нужно конвертировать CSV-файл в XLSX.Уже сделай это, работает нормально.Единственное, во втором столбце - формат даты, поэтому, когда я сохраняю файл в формате xlsx, моя дата неверна.Например: '01 / 07/2019 с 18:00 до '01/07/2019 18: 00'

Я уже пытался изменить формат после создания файла, но безуспешно.также измените формат строки в файле CSV без успеха.

   public static void CambiarCSVAXLSX(string rutaArchivo) {

        Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();

        Microsoft.Office.Interop.Excel.Workbook wb = app.Workbooks.Open(rutaArchivo, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);


        wb.SaveAs(rutaArchivo.Replace(".csv", ".xlsx"), Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing, true, false, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing);

        wb.Close();

        app.Quit();


        Microsoft.Office.Interop.Excel.Application app2 = new Microsoft.Office.Interop.Excel.Application();

        Microsoft.Office.Interop.Excel.Workbook wb2 = app2.Workbooks.Open(rutaArchivo.Replace(".csv", ".xlsx"), Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

        Microsoft.Office.Interop.Excel.Worksheet ws2 = (Worksheet)wb2.Sheets[1];

        Microsoft.Office.Interop.Excel.Range xlCells = ws2.Range["1:2"];

        xlCells.Select();
        xlCells.NumberFormat = "mm/dd/yyyy h:mm";

        wb2.SaveAs(rutaArchivo.Replace(".csv", ".xlsx"), Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing, true, false, XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing);

        wb2.Close();

        app2.Quit();


        //mm/dd/yyyy h:mm

        //File.Delete(rutaArchivo);


    }

всегда показывает мне, что файл уже открыт, и если я хочу открыть файл в режиме только для чтения, также спросите меня, если яхочу заменить файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...