Search EggHeadCafe's Job Board
EggHeadCafe Silverlight WPF ASP.NET VB.NET C# Excel SQL Server SharePoint
search
MicrosoftArticlesForumsFAQs
C# .NET
VB.NET
Visual Studio .NET
ADO.NET
Xml / Xslt
VB 6.0
.NET CF
GDI+
LINQ
Deployment
Security
FoxPro
Silverlight / WPF
Entity Framework
RIA Services

WebArticlesForumsFAQs
JavaScript
ASP
ASP.NET
WCF

DatabasesArticlesForumsFAQs
SQL Server
Access
Oracle
MySQL
Other Databases

OfficeArticlesForumsFAQs
Excel
Word
Powerpoint
Outlook
Publisher
Money

Non-MicrosoftArticlesForumsFAQs
NHibernate
Perl
PHP
Ruby
Java
Linux / Unix
Apple
Open Source

Operating SysArticlesForumsFAQs
Windows 7
Windows Server
Windows Vista
Windows XP
Windows Update
MAC
Linux / UNIX

Server PlatformsArticlesForumsFAQs
BizTalk
Site Server
Exhange Server
IIS

Graphic DesignArticlesForumsFAQs
Macromedia Flash
Adobe PhotoShop
Expression Blend
Expression Design
Expression Web

OtherArticlesForumsFAQs
Lounge
Subversion / CVS
Ask Dr. Dotnetsky
Active Directory
Networking
Uninstall Virus
Job Openings
Product Reviews
Search Engines
Resumes

 

  View Other C# .NET Posts   Ask New Question  Ask New Question With Power Editor

Como realizo una consulta desde Basic en una hoja de Excel
Adriana .. posted at Tuesday, November 03, 2009 1:29 PM

Necesito mostrar en un informe o en un datagrid los resultados de una consulta en excel.
Mi usuario selecciona de un combobox el dato que desea, por ejemplo nombre y yo debo obtener todos los registros que coincidan con ese nombre en la hoja de excel y mostrarlos. He intendado lo de abajo pero no funciona. Agradecería pudieran ayudarme. GRACIAS
 Try
            'Creamos un objecto OLEDBConnection con el nombre del archivo seleccionado como Data Source
            objOleConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; " & _
                               "data source=" & TextBox1.Text.Trim & _
                               "; Extended Properties=Excel 8.0;")

            '* Si queremos seleccionar toda la hoja solo especificamos [Sheet1$]
            Dim item As String
            item = ComboBoxMunicipio.SelectedItem().ToString()
            System.Console.WriteLine(item)


            objDataAdapter = New System.Data.OleDb.OleDbDataAdapter( _
                           "select * from [Totales$] where [Municipio] = 'Cuautlancingo'", objOleConnection)

            objDataSet = New System.Data.DataSet
            objDataAdapter.Fill(objDataSet)
            objOleConnection.Close()

            DataGrid1.CaptionText = objDataSet.Tables(0).TableName
            DataGrid1.DataSource = objDataSet
            DataGrid1.DataMember = objDataSet.Tables(0).TableName
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
Reply    Reply Using Power Editor
  Rank Winnings Points
November 0 $0.00 0
October 0 $0.00 0
¿es esto positivo?
[)ia6l0 iii provided a rated reply to Adriana .. on Wednesday, November 04, 2009 3:43 AM


Usted podría tener en las cláusulas en su OleDbCommand con sus columnas en la hoja de cálculo Excel. Sin embargo, tenga en cuenta que tanto necesita un rango con nombre o una fila de títulos específicos en su hoja de cálculo Excel. 

a) Usted puede crear una región llamada por la elección de la opción de definir en el menú Insertar - Nombre - Definir. Y luego hacer un select * from NamedRange. 
. CommandText = @ "SELECT * FROM" + namedregionname; 

b) o crear una línea de encabezamiento que pueden actuar como un nombre de campo para nuestra cláusula WHERE de nuestra consulta SELECT

Además, esto sólo funciona si la cadena OleDbConnection contiene el "HDR = Yes;" del pabellón. 
Así que la cadena de connnection vez se vería así: 

= objOleConnection System.Data.OleDb.OleDbConnection Nuevo ( "Provider = Microsoft.Jet.OLEDB.4.0;" & _ 
                                 "Data Source =" & TextBox1.Text.Trim & _ 
                                 "Extended Properties = Excel 8.0; HDR = Yes;") 

De lo contrario, el código parece correcto.
Reply    Reply Using Power Editor
  Rank Winnings Points
November 1 $217.00 560
October 1 $226.00 771