ODBC - C# - La tabla externa no tiene el formato esperado.

 
Vista:

C# - La tabla externa no tiene el formato esperado.

Publicado por Edgar (1 intervención) el 17/02/2014 17:04:53
Amigos del foro

Tengo un problema, quiero importar un archivo Excel y cuando pensé que ya tenía mi solución implantada, me salió un problema, 1ero hice esto....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private static DataTable CargarExcel(string as_ruta, string as_hoja_name)
        {
            DataTable ldt_result = new DataTable();
            try
            {
               OleDbConnection Conex = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + as_ruta + ";Extended Properties='Excel 12.0 Xml;HDR=NO;'");
                OleDbCommand CmdOle = new OleDbCommand();
 
                CmdOle.Connection = Conex;
                CmdOle.CommandType = CommandType.Text;
                CmdOle.CommandText = "SELECT * FROM [" + as_hoja_name + "$]";
 
                OleDbDataAdapter AdaptadorOle = new OleDbDataAdapter(CmdOle.CommandText, Conex);
 
                AdaptadorOle.Fill(ldt_result);
 
                return ldt_result;
            }
            catch (Exception ex)
            {
                return ldt_result;
            }
        }

y cuando le hacía referencia de esta manera

1
2
DataTable dt = new DataTable();
dt = CargarExcel(@"D:\ejemplo.xlsx", "Hoja 1");

no había problemas, ahora lo quise llamar desde un asp:FileUpload (adjunto código)

1
2
3
4
5
6
string ls_filename;
string ls_par_descripcion;
 
as_ruta = _filename.PostedFile.FileName;
ls_par_descripcion = "Hoja 1";
CargarExcel(as_ruta, ls_par_descripcion);

me sale el siguiente mensaje de error

"La tabla externa no tiene el formato esperado."

¿No se a que se deba ello?, alguien sabe ¿que debo de hacer?, ¿porque pasa eso?, espero me puedan ayudar


Muchas gracias por su tiempo


Saludos Cordiales
Edgar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

C# - La tabla externa no tiene el formato esperado.

Publicado por LordAcker (1 intervención) el 31/08/2016 17:00:07
Aunque esta es la solución a tu problema prefiero explorar otras opciones para la misma tarea.

En el archivo de excel debes hacer lo siguiente: (Ctrl + F3 método abreviado)

1. Ir a la pestaña de "Fórmulas"
2. Grupo de "Nombres definidos"
3. Función ""Administrador de nombres"
4. Presionar el botón de "Nuevo"
5. Asignar un nombre, ej: "HojaAcker"
6. Seleccionar el rango que deseas mostrar en el gridview
7. Aceptar
8. en tu código en esta línea
dt = CargarExcel(@"D:\ejemplo.xlsx", "Hoja 1");
Cambias el nombre de la hoja a "HojaAcker" quedando así:
dt = CargarExcel(@"D:\ejemplo.xlsx", "HojaAcker");
9. Compila y ejecuta.

Suerte amigo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar