Estoy escribiendo en archivo Excel usando OLEDB (C#). Lo que necesito es solo formato de datos SIN PROCESAR.OLEDB, Escribir celda de Excel sin apóstrofo principal
me he dado cuenta que todas las células (cabeceras y valores) tienen el prefijo apóstrofe (')
¿Es una forma de evitar la adición de ellos en todas las celdas de texto?
Aquí es mi cadena de conexión:
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
filePath + ";Extended Properties='Excel 8.0;HDR=Yes'";
He intentado el uso IMEX = 1 como esto:
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
filePath + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
Pero después de que yo estoy recibiendo por debajo de error:
El motor de base de datos Microsoft Jet no pudo encontrar el objeto 'C: \ Temp \ New Folder \ MF_2009_04_19_2008-11-182009_DMBHCSAM1118.xls'.
Asegúrese de que el objeto exista y que deletree correctamente su nombre y la ruta.
uso Finalmente he intentado IMEX = 0 como esto:
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
filePath + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=0\"";
Esta vez no hay Excepciones plantearon.
Desafortunadamente todavía hay un problema con apóstrofes (por lo que cada uno mira mis valores como: '123,' abc etc ...)
Alguna idea?
¿Por qué cambió la forma en que define las Propiedades Extendidas? En su connectionString original, utilizó comillas simples: 'Excel 8.0; HDR = Yes', pero luego usa comillas dobles (escapadas): \ "Excel 8.0; HDR = Yes; IMEX = 1 \" ¿Podría ser ese el problema? –
Probado esto también con 'y el comportamiento es el mismo. – Maciej
recuerda en Excel que tienes un límite de 15 puntos decimales de precisión. Es probable que ADO esté haciendo esto para permitirle ingresar datos que de otro modo Excel podría tratar de redondear y acortar. –