Foros del Web » Programando para Internet » ASP Clásico »

Problema al leer Excel desde Asp, omite campos alfanuméricos.

Estas en el tema de Problema al leer Excel desde Asp, omite campos alfanuméricos. en el foro de ASP Clásico en Foros del Web. Hola, tengo que leer una excel desde asp, sea 2007 ó 2003 Creía tener controlado las 2003, pero no. Me omite los valores alfanuméricos. Este ...
  #1 (permalink)  
Antiguo 07/06/2013, 10:15
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 14 años
Puntos: 6
Problema al leer Excel desde Asp, omite campos alfanuméricos.

Hola, tengo que leer una excel desde asp, sea 2007 ó 2003
Creía tener controlado las 2003, pero no. Me omite los valores alfanuméricos.

Este es el código:
Código ASP:
Ver original
  1. <html>
  2.     <head>
  3.         <title>Recoge valores de celdas Excel</title>
  4.     </head>
  5.    
  6.     <body style="font-family: Arial; font-size: 9pt">
  7.    
  8.         <%
  9.        
  10.         dim ConnectDBQ,rs,dbc
  11.        
  12.         Set dbc = Server.CreateObject("ADODB.Connection")
  13.         ConnectDBQ="DRIVER={Microsoft Excel Driver (*.xls)}; DBQ=" & server.mappath("ASP2.xls")    
  14.         dbc.Open ConnectDBQ
  15.        
  16.         Set rs=Server.CreateObject("ADODB.RecordSet")
  17.         rs.open "select * from [Hoja1$]",dbc,3,3
  18.        
  19.  
  20.         %>
  21.         <table Border='1px'>
  22.         <tr>
  23.         <%
  24.  
  25.         For I = 0 To 3
  26.             response.write "<td>" & rs.Fields.Item(I).Name & "</td>"
  27.         Next
  28.        
  29.         %>
  30.         </tr>
  31.         <%
  32.        
  33.         do while not rs.eof
  34.             %>
  35.             <tr>
  36.             <%
  37.             For I = 0 To 3
  38.                 response.write "<td>" & rs.fields(I).value & "</td>"
  39.             Next
  40.             %>
  41.             </tr>
  42.             <%
  43.            
  44.             rs.movenext
  45.         loop
  46.        
  47.         rs.close
  48.         %>
  49.         </table>
  50.     </body>
  51. </html>

Más simple que un búcaro, te crea una tabla con la excel que sube.

Esto es lo que contiene la excel:

campo 1 campo 2 campo 3 campo 4
A 2 3 4
5 6 7 8
9 10 Y 12
13 14 15 16
17 18 19 20
J H 987 O



Y esto es lo que devuelve la página:


campo 1 campo 2 campo 3 campo 4
2 3 4
5 6 7 8
9 10 12
13 14 15 16
17 18 19 20
987


¡¡¡ Los valores alfanumériocos me los saca Empty, por qué!!!!
  #2 (permalink)  
Antiguo 07/06/2013, 10:17
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 14 años
Puntos: 6
Respuesta: Problema al leer Excel desde Asp, omite campos alfanuméricos.

Esta es la tabla que devuelve:

Código HTML:
Ver original
  1. <table Border='1px'>
  2.         <tr>
  3.         <td>campo 1</td><td>campo 2</td><td>campo 3</td><td>campo 4</td>
  4.         </tr>
  5.        
  6.             <tr>
  7.             <td></td><td>2</td><td>3</td><td>4</td>
  8.             </tr>
  9.            
  10.             <tr>
  11.             <td>5</td><td>6</td><td>7</td><td>8</td>
  12.             </tr>
  13.            
  14.             <tr>
  15.             <td>9</td><td>10</td><td></td><td>12</td>
  16.             </tr>
  17.            
  18.             <tr>
  19.             <td>13</td><td>14</td><td>15</td><td>16</td>
  20.             </tr>
  21.            
  22.             <tr>
  23.             <td>17</td><td>18</td><td>19</td><td>20</td>
  24.             </tr>
  25.            
  26.             <tr>
  27.             <td></td><td></td><td>987</td><td></td>
  28.             </tr>
  29.            
  30.         </table>
  #3 (permalink)  
Antiguo 07/06/2013, 10:18
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 14 años
Puntos: 6
Respuesta: Problema al leer Excel desde Asp, omite campos alfanuméricos.

En el caso de los valores no numéricos es como si el campo/celda estuviera vacía ¿¿¿¿ Por qué ????
  #4 (permalink)  
Antiguo 07/06/2013, 11:21
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 14 años
Puntos: 6
Respuesta: Problema al leer Excel desde Asp, omite campos alfanuméricos.

SOLUCIONADO
El problema estaba en la cadena de conexión. Pongo el código válido:

Código ASP:
Ver original
  1. <html>
  2.     <head>
  3.         <title>Recoge valores de celdas Excel</title>
  4.     </head>
  5.    
  6.     <body style="font-family: Arial; font-size: 9pt">
  7.    
  8.         <%
  9.        
  10.         dim ConnectDBQ,rs,dbc
  11.        
  12.         Set dbc = Server.CreateObject("ADODB.Connection")
  13.        
  14.         'Cadenas de conexión que mejor no usar:
  15.         'ConnectDBQ="DRIVER={Microsoft Excel Driver (*.xls)}; DBQ=" & server.mappath("ASP2.xls")    
  16.         'ConnectDBQ= "DRIVER={Microsoft Excel Driver (*.xls)}; IMEX=1; HDR=no; Excel 8.0; DBQ=" & Server.MapPath("ASP2.xls") & "; "    
  17.        
  18.         'Vale tanto para Xls como Xlsx
  19.         ConnectDBQ = _
  20.             "Provider=Microsoft.ACE.OLEDB.12.0;" & _
  21.             "Extended Properties='Excel 12.0 Xml;HDR=yes;IMEX=1';" & _
  22.             "Data Source=" & Server.MapPath("ASP.xls")
  23.        
  24.  
  25.         dbc.Open ConnectDBQ
  26.        
  27.         Set rs=Server.CreateObject("ADODB.RecordSet")
  28.         rs.open "select * from [Hoja1$]",dbc,3,3
  29.        
  30.  
  31.         %>
  32.         <table Border='1px'>
  33.         <tr>
  34.         <%
  35.  
  36.         For I = 0 To 3
  37.             response.write "<td>" & rs.Fields.Item(I).Name & "</td>"
  38.         Next
  39.        
  40.         %>
  41.         </tr>
  42.         <%
  43.        
  44.         do while not rs.eof
  45.             %>
  46.             <tr>
  47.             <%
  48.             For I = 0 To 3
  49.                 response.write "<td>" & rs.fields(I).value & "</td>"
  50.             Next
  51.             %>
  52.             </tr>
  53.             <%
  54.            
  55.             rs.movenext
  56.         loop
  57.        
  58.         rs.close
  59.         %>
  60.         </table>
  61.     </body>
  62. </html>

Etiquetas: asp, excel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:35.