Я пишу файл с разделителями-запятыми, используя консольное приложение, и использую Process для открытия файла. Это быстрый и грязный способ сбрасывания результатов запроса в excel.
какое-то время это работало нормально, но в последнее время я начал получать " Файл, который вы пытаетесь открыть" blah.csv ", находится в другом формате, чем указано расширением файла".
и после нажатия "Да"
Excel обнаружил, что blah.csv является файлом SYLK, но не может его загрузить. Либо файл имеет ошибки, либо не является файлом SYLK. Нажмите "ОК", чтобы попытаться открыть файл в другом формате.
Нажатие кнопки OK открывает его и отображается правильно.
Я вижу некоторые решения для этого в веб-мире с добавлением заголовка содержимого, но поскольку я использую процесс для его открытия, я не могу применить это исправление.
мой код, чтобы открыть файл:
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = filePath;
info.UseShellExecute = true;
Process.Start(info);
если я открою файл в Notepad ++ и покажу все символы, он просто показывает как обычный CSV с окончанием строки CR LF.
после некоторого исследования, похоже, что строка заголовков вызывает ошибку. Если я просто напишу пустую строку перед заголовками, ошибка исчезнет. заголовки выглядят так:
заголовок1, заголовок2, заголовок3 CRLF