Foros del Web » Programación para mayores de 30 ;) » .NET »

Como leer un Excel con C#

Estas en el tema de Como leer un Excel con C# en el foro de .NET en Foros del Web. Necesito ayuda con este tema me he cansado de leer paginas referentes al tema y todo lo que consigo son errores si alguien seria tan ...
  #1 (permalink)  
Antiguo 20/02/2008, 09:07
 
Fecha de Ingreso: julio-2006
Mensajes: 150
Antigüedad: 17 años, 9 meses
Puntos: 0
Como leer un Excel con C#

Necesito ayuda con este tema me he cansado de leer paginas referentes al tema y todo lo que consigo son errores si alguien seria tan amable de hecharme un mano se lo agradeceria mucho

Gracias
  #2 (permalink)  
Antiguo 20/02/2008, 09:27
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Como leer un Excel con C#

Pues yo recuerdo dos maneras de hacer esto una es utiliando jet provider de microsoft, y la otra utilizando los componentes com de office 11( 2003).

Utilizar Interop.Microsoft.Office.Interop.Excel agregando la referencia a tu proyecto.

// Instancia de Excel,
Excel.Application excelApp = new Excel.Application();
// Abrir Workook deseado
Excel.Workbook excelBook = excelApp.Workbooks._Open(filename, null, null, null, null, null, null, null, null, null, null, null, null);
// Obtener primera hoja del workbook actual
Excel._Worksheet excelWorksheet = (Excel._Worksheet) excelBook.Worksheets.get_Item(1);
// Visible o no excel de preferencia falso
excelApp.Visible = false;
// Leer el valor dela Celda Especificada en el rango
object valueat=excelWorksheet.get_Range("A1","A1").Value2 ;

Saludos
peter
espero q esto te siva
  #3 (permalink)  
Antiguo 20/02/2008, 09:56
 
Fecha de Ingreso: julio-2006
Mensajes: 150
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Como leer un Excel con C#

Agregue el Com de Office 11 pero me dice que la refencia Interop.Microsoft.Office.Interop.Excel; no pudo se encontrada que sera ?? Gracias y disculpa la molestia
  #4 (permalink)  
Antiguo 20/02/2008, 10:02
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Como leer un Excel con C#

Agrega el objeto excel de tu pestaña com de referencias.

Microsof.Excel 11 Object Library

saludos
peter
  #5 (permalink)  
Antiguo 20/02/2008, 10:15
 
Fecha de Ingreso: julio-2006
Mensajes: 150
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Como leer un Excel con C#

Ya lo agregue pero me sigue dando el error en las referencias tengo Excel,Microsoft.Office.core,System,System.data,Sys tem.Xml,VBIDE cuando compilo dice que no puede conseguir el Interop
  #6 (permalink)  
Antiguo 20/02/2008, 10:21
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Como leer un Excel con C#

mm deja lo reviso
  #7 (permalink)  
Antiguo 20/02/2008, 10:54
 
Fecha de Ingreso: julio-2006
Mensajes: 150
Antigüedad: 17 años, 9 meses
Puntos: 0
Re: Como leer un Excel con C#

Consegui esta Solucion pero tiene un problemita

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
using System.Data;

namespace Excel2
{
class Program
{

public void GetExcel(string filename, string sheetName)
{
OleDbConnection dbConn = null;
DataTable resultTable = new DataTable( sheetName );
// Build connection string.
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + filename + ";Extended Properties=Excel 8.0;";

// Create connection and open it.
dbConn = new OleDbConnection(connString);
dbConn.Open();

if (!sheetName.EndsWith("$"))
{
sheetName += '$';
}
string query = string.Format("SELECT * FROM [{0}]", sheetName);
using (OleDbDataAdapter adapter = new OleDbDataAdapter(query, dbConn))
{
adapter.Fill(resultTable);
}

foreach (DataColumn a in resultTable.Columns)
{
Console.WriteLine(a.DataType.ToString() + " " + a.ToString());
}
}
static void Main(string[] args)
{
Program p = new Program();
p.GetExcel("C:\\tesis\\prueba.xls","prueba");

}
}
}


El archivo de excel que estoy provando tiene estos campos 123456 Pedro Perez Rojas, donde cada uno es una celda de excel, el problema es que los datos Pedro Perez Rojas los trae bien pero el 123456 lo trae con un valor F1 que puede ser?
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:06.