Estoy escribiendo un archivo separado por comas usando una aplicación de consola, y usando Process para abrir el archivo. Es una manera rápida y sucia de arrojar resultados de una consulta en Excel.generar/abrir CSV desde la consola: el archivo tiene un error de formato incorrecto
por un tiempo esto funcionó bien, pero últimamente empecé a recibir "El archivo que está intentando abrir 'blah.csv', está en un formato diferente al especificado por la extensión de archivo".
y que después de hacer clic en "Sí"
Excel ha detectado que blah.csv es un archivo SYLK, pero no puede cargarlo. O el archivo tiene errores o no es un formato de archivo SYLK. Haga clic en Aceptar para intentar abrir el archivo en un formato diferente.
Al presionar OK, se abre y se visualiza correctamente.
Veo algunas soluciones para esto en el mundo de la web con agregar encabezado de disposición de contenido, pero como estoy usando un Proceso para abrirlo, no puedo aplicar esa corrección.
mi código para abrir el archivo:
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = filePath;
info.UseShellExecute = true;
Process.Start(info);
si abro el archivo en Notepad ++ y mostrar todos los caracteres, sólo se muestra como CSV regular con CR finales de línea LF.
después de algunas investigaciones, parece que la línea de encabezados desencadena el error. Si simplemente escribo una línea vacía antes de los encabezados, el error desaparece. los encabezados de tener este aspecto:
encabezado1, encabezado2, CRLF encabezado3
¿Podría publicar las primeras líneas del archivo? Anonimizado, si es necesario. –