valores separados por para error convertidor configurar comas automaticamente archivos archivo abrir c# excel file-io export-to-excel

c# - separados - generar/abrir CSV desde la consola: el archivo tiene un error de formato incorrecto



configurar excel para abrir archivos csv automaticamente (4)

(EDITADO) Tuve un problema similar: recibía exactamente el mismo error, pero en mi caso esto había ocurrido repentinamente después de meses de uso frecuente. Me pregunto si el problema es realmente el título de la columna "ID", la solución de Microsofts no explica por qué, como decía el OP, "durante un tiempo funcionó bien" y luego se convirtió en un problema.

Encontré en mi escenario que había datos erróneos provenientes de un sistema ascendente en el que se había agregado una coma en el nombre de alguien, y esto estaba invalidando el archivo .csv. Esto causó que el ''archivo esté en error de formato incorrecto'' pero me envió por la ruta incorrecta con ''[filename] es un archivo SYLK, pero no puede cargarlo''

Espero que esto pueda ayudar a alguien más un día.

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.

durante un tiempo esto funcionó bien, pero últimamente comencé a recibir " El archivo que estás intentando abrir ''blah.csv'', está en un formato diferente al especificado por la extensión de archivo ".

y luego 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 la adición de 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 muestro todos los caracteres, solo se muestra como CSV regular con terminaciones de línea CR 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 se ven así:

heading1, heading2, heading3 CRLF


Eche un vistazo aquí: http://support.microsoft.com/kb/323626

parece tener ID como los dos primeros caracteres en la fila del encabezado es el problema - comportamiento bastante extraño de Excel, en mi opinión.


El CSV comienza con la identificación de dos caracteres. Si rodeas a los personajes con comillas dobles, debería funcionar bien.


El formato de archivo SYLK no es válido cuando el archivo CSV tiene dos primeros caracteres en mayúsculas I y D. Se puede resolver siguiendo estos pasos: Abra el archivo en el Bloc de notas y presione la tecla de apóstrofo ('') antes del primer carácter. Guarde el archivo y vuelva a abrir MS Excel.