c# z excelu do comboboxu

Programovacie jazyky, rady, poradňa...
lik0
Light Expert
Light Expert
Používateľov profilový obrázok
Príspevky: 48
Registrovaný: 05 okt 2006, 20:29

c# z excelu do comboboxu

Príspevok od používateľa lik0 »

Zdravím,
v C# pracujem krátko, programujem vo visual studio. Narazil som na jeden problém. Potrebujem prepojiť c# s Excelom. Úplne by mi stačilo, keby som si z Combobox-u vybral jednu z možností z Excelu stĺpca A a v textboxe by sa mi objavila príslušná bunka zo stĺpca B.
Tento kód som našiel na nete

Kód: Vybrať všetko

http://social.msdn.microsoft.com/Forums/eu/csharpgeneral/thread/c095c46e-c926-4332-8c2c-dd964bdaccea
Ale to mi nefunguje (viz. príloha), program spustiť ide, ale žiaden excelový súbor nenajde (v prílohe prípajam aj samotný program)
Pred tým som zapal Microsofr Excel Object Library v Project -> Add Reference -> COM

Kód: Vybrať všetko

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string query = "Select Time from [Sheet1$] where Name = '" + comboBox1.SelectedItem.ToString() + "'";
            ConExcel(query);
        }

        private void ConExcel(string query)
        {
            string str = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\example.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";";
            try
            {
                OleDbConnection con = new OleDbConnection(str);
                con.Open();
                OleDbCommand cmd = new OleDbCommand(query, con);
                string result = cmd.ExecuteScalar().ToString();
                textBox1.Text = result;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }
    }
}
Trápim sa s tým už asi týždeň, prosím pomôžte.
Ďakujem
Prílohy
program.jpg
program.jpg (14.09 KiB) 360 zobrazení
Excel.rar
Samotný program aj s xls súborom
(55.98 KiB) 25 stiahnutí
aacid
Hardcore addict
Hardcore addict
Príspevky: 8137
Registrovaný: 22 nov 2006, 21:55
Bydlisko: BA

Re: c# z excelu do comboboxu

Príspevok od používateľa aacid »

a co to teda robi ked to nefunguje? vyhodi to nejaku chybu? nestane sa nic?

skusal si to debugovat? do tej metody ConExcel dal breakpoint a chod prikaz po prikaze a zisti kde je problem.
co vracia ExecuteScalar()? v tomto priklade museli najprv pretypovat tu hodnotu co vracia, asi to budes musiet spravit aj ty...
Napísať odpoveď