Bu yazımızda OledbConnection kullanarak Excel dosyasına bağlanıp Select (Veri çekme), İnsert (Veri Ekleme), Update (Güncelleme) işlemlerini gerçekleştireceğiz ve Excel dosyasındaki verilerin Datagridview de görüntülenmesini sağlayacağız.
Ayrıca C# dilinde yazılmış daha fazla örnek ve konular için C# Dersleri yazısını yada sağ üstte bulunan site içinde arama panelini kullanabilirsiniz.
Örneğimizde D sürücüsünde bulunan ve Öğrenci listesi tutan “ogrenci.xlsx” isimli bir excel dosyasına bağlanıp bu işlemleri gerçekleştireceğiz. Excel dosyamızı aşağıdaki şekilde hazırlıyoruz.
Daha sonra formumuzu aşağıdaki şekilde tasarlayalım.
Kodlamaya başlayalım. İlk olarak bağlantı sağlayabilmek için;
1 2 3 | using System.Data.OleDb; |
ekliyoruz.
Daha sonra verileri Getir butonuna çift tıklayarak excel verilerimizin DataGridView üzerinde görünmesini sağlamak amacıyla aşağıdaki kodları yazıyoruz. OledbConnection bağlantı cümlesinde HDR= YES yaparak ilk satırın sütun başlığı olarak ayarlanmasını sağlıyoruz.
1 2 3 4 5 6 7 8 9 10 11 12 | private void button1_Click(object sender, EventArgs e) { OleDbConnection baglanti = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\ogrenci.xlsx; Extended Properties='Excel 12.0 xml;HDR=YES;'"); baglanti.Open(); //www.yazilimkodlama.com OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Sayfa1$]", baglanti); DataTable dt = new DataTable(); da.Fill(dt); dataGridView1.DataSource = dt.DefaultView; baglanti.Close(); } |
Ekle komutuna basınca Textbox’ lara girmiş olduğumuz değerlerin ilgili Excel sütunlarına kayıt işlemi için aşağıdaki kodları yazıyoruz.
1 2 3 4 5 6 7 8 9 10 | OleDbCommand komut = new OleDbCommand(); OleDbConnection baglanti = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\ogrenci.xlsx; Extended Properties='Excel 12.0 xml;HDR=YES;'"); baglanti.Open(); komut.Connection = baglanti; //www.yazilimkodlama.com string sql = "Insert into [Sayfa1$] (NUMARA,AD,SOYAD,SINIFI) values('" + textBox1.Text + "','" + textBox2.Text + "','"+textBox3.Text+"','"+textBox4.Text+"')"; komut.CommandText = sql; komut.ExecuteNonQuery(); baglanti.Close(); |
Güncelleme işlemini TextBox1′ e girdiğimiz Öğrenci Numarasına göre yapalım. Örneğin 155 nolu Öğrencinin bilgilerini değiştirmek gibi. Bunun için Güncelle butonuna aşağıdaki kodları yazabiliriz.
1 2 3 4 5 6 7 8 9 10 | OleDbCommand komut = new OleDbCommand(); OleDbConnection baglanti = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\ogrenci.xlsx; Extended Properties='Excel 12.0 xml;HDR=YES'"); baglanti.Open(); komut.Connection = baglanti; string sql = "Update [Sayfa1$] set AD='"+textBox2.Text+"',SOYAD='"+textBox3.Text+"',SINIFI='"+textBox4.Text+"' WHERE NUMARA="+textBox1.Text+""; komut.CommandText = sql; //www.yazilimkodlama.com komut.ExecuteNonQuery(); baglanti.Close(); |
Yukarıdaki örnekte bağlantıyı tekrar tekrar yazmak yerine Public olarak tanımlayabilirsiniz. İsterseniz veri seçme için bir metot oluşturarak Güncelleme ve Ekleme işlemlerinden sonra veya form açıldığında datagrid’ in güncellenmesini sağlayabilirsiniz.
Kodların bu şekilde düzenlenmiş hali ise aşağıdaki şekilde olacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 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 csharp_excel_baglanti { public partial class Form1 : Form { public Form1() { InitializeComponent(); //www.yazilimkodlama.com } OleDbConnection baglanti = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\ogrenci.xlsx; Extended Properties='Excel 12.0 xml;HDR=YES;'"); public void doldur() { baglanti.Open(); OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Sayfa1$]", baglanti); DataTable dt = new DataTable(); da.Fill(dt); dataGridView1.DataSource = dt.DefaultView; baglanti.Close(); } private void button1_Click(object sender, EventArgs e) { doldur(); } private void button2_Click(object sender, EventArgs e) { OleDbCommand komut = new OleDbCommand(); baglanti.Open(); komut.Connection = baglanti; string sql = "Insert into [Sayfa1$] (NUMARA,AD,SOYAD,SINIFI) values('" + textBox1.Text + "','" + textBox2.Text + "','"+textBox3.Text+"','"+textBox4.Text+"')"; komut.CommandText = sql; komut.ExecuteNonQuery(); baglanti.Close();//www.yazilimkodlama.com doldur(); } private void button3_Click(object sender, EventArgs e) { OleDbCommand komut = new OleDbCommand(); baglanti.Open(); komut.Connection = baglanti; string sql = "Update [Sayfa1$] set AD='"+textBox2.Text+"',SOYAD='"+textBox3.Text+"',SINIFI='"+textBox4.Text+"' WHERE NUMARA="+textBox1.Text+""; komut.CommandText = sql; komut.ExecuteNonQuery(); baglanti.Close();//www.yazilimkodlama.com doldur(); } private void Form1_Load(object sender, EventArgs e) { doldur(); } } } |
Kaynak:
Merhabalar,
‘Ölçüt ifadesinde veri türü uyuşmazlığı.’
Ben bu hatayı alıyorum kodu ilk yazdıgımda kayıt ekleme yapbiliyordum ama
bi anda hata vermeye başladı herşeyi defalarca yaptım kacırdıgım bir nokta var ama cözemdim yardımcı olabilirseniz sevinirim gerçekten.Teşekkürler
OleDbCommand komut = new OleDbCommand();
baglan.Open();
komut.Connection = baglan; //www.yazilimkodlama.com
string sql = “Insert into [Sayfa1$] ([kitap],[yazar],[fiyat]) values(‘” + textBox1.Text + “‘,'” + textBox2.Text + “‘,'” + textBox3.Text + “‘)”;
komut.CommandText = sql;
komut.ExecuteNonQuery();
baglan.Close();
MessageBox.Show(“Kitap Sisteme Kaydetildi”);
Veriler();
excelden operasyon adını çekebiliyorum lakin bir türlü aşağıdaki şartı sağlayamadım
operasyon adı Giriş Kontrol ise en sondaki textboxa excelden çekip 1000 yazacak
operasyon adı ön boyun kesilmesi ise seçildiyse en sondaki textboxa excelden çekip 2000 yazacak
private void textBox13_TextChanged(object sender, EventArgs e)
{
textBox13.CharacterCasing = CharacterCasing.Upper;
baglanti.Open();
DataTable tbl = new DataTable();
string cumle;
cumle = “Select * from [Sayfa1$B1:B80] where Operasyon_Adi like ‘%” + textBox14.Text + “%'”;
OleDbDataAdapter adptr = new OleDbDataAdapter(cumle, baglanti1);
adptr.Fill(tbl);
baglanti.Close();
dataGridView4.DataSource = tbl;
}
kodalarım şu şekilde
s.a hocam 2 tane textboxum var birinin içerisine 0 girdiğimde diğerinin pasif, 1,2,3 girdiğimde aktif olmasını istiyorum lakin yapamadım
private void textBox10_TextChanged(object sender, EventArgs e)
{
int a;
a = Convert.ToInt32(textBox10.Text);
if ( a == 0)
{
textBox14.Enabled = false;
}
else if (a != 0)
{
textBox14.Enabled = true;
}
}
c# da excelde sayfa1 verileri çekebiliyorum datagride lakin aynı datagridde sayfa2 yi de nasıl çekebilirim
private void textBox9_KeyPress(object sender, KeyPressEventArgs e)
{
OleDbConnection baglanti;
baglanti = new OleDbConnection(@”Provider=Microsoft.ACE.OLEDB.12.0;Data Source= C:\Users\BILAL CUREK\Desktop\C# Proje son hali\YENİ PROJE\WindowsFormsApplication2\bin\Debug\Input_Planlama\Planlama.xlsx; Extended Properties=’Excel 12.0 xml;HDR=YES;'”);
baglanti.Open();
OleDbCommand sorgu = new OleDbCommand(“select * from [Sayfa1$] where Parti_Kodu like ‘” + textBox9.Text + “%’or Estas_Kodu like ‘” + textBox9.Text + “%'”, baglanti);
OleDbDataAdapter adtr = new OleDbDataAdapter(“select * from [Sayfa1$] where Parti_Kodu like ‘” + textBox9.Text + “%’or Estas_Kodu like ‘” + textBox9.Text + “%'”, baglanti);
OleDbDataReader dr;
dr = sorgu.ExecuteReader();
while (dr.Read())
{
if (dr[0].ToString() == textBox9.Text || dr[1].ToString() == textBox9.Text)
{
textBox1.Text = dr[0].ToString();
textBox2.Text = dr[1].ToString();
textBox3.Text = dr[2].ToString();
textBox4.Text = dr[3].ToString();
textBox5.Text = dr[4].ToString();
textBox6.Text = dr[5].ToString();
textBox7.Text = dr[6].ToString();
textBox8.Text = dr[7].ToString();
DataTable tablo2 = new DataTable();
adtr.Fill(tablo2);
dataGridView2.DataSource = tablo2;
}
}
baglanti.Close();
dr.Close();
}
Ne hata aliyorsunuz
c# da excelde sayfa1 verileri çekebiliyorum datagride lakin aynı datagridde sayfa2 yi de nasıl çekebilirim
leDbConnection bag = new OleDbConnection(“Provider=Microsoft.JET.OleDb.4.0;Data Source=” + Application.StartupPath + “\\sinav.mdb”);
OleDbCommand cmd;
int id;
public Form1()
{
InitializeComponent();
}
private void btnEkle_Click(object sender, EventArgs e)
{
string ad, soyad;
ad = txtAd.Text.Trim().ToLower();
soyad = txtSoyad.Text.Trim().ToLower();
bag.Open();
cmd = new OleDbCommand(“insert into ogrenci(ad,soyad) values(‘” + ad + “‘,'” + soyad + “‘)”, bag);
int i = cmd.ExecuteNonQuery();
if (i == 1) MessageBox.Show(“Kayıt işlemi Başarılıdır”);
else MessageBox.Show(“Kayır İşlemi Başarısız”);
bag.Close();
txtAd.Clear();
txtSoyad.Clear();
}
private void btnListele_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Clear();
bag.Open();
cmd = new OleDbCommand(“select * from ogrenci”, bag);
OleDbDataReader dr = cmd.ExecuteReader();
string[] satir = new string[3];
while (dr.Read()) {
satir[0] = dr[0].ToString().ToUpper();
satir[1] = dr[1].ToString().ToUpper();
satir[2] = dr[2].ToString().ToUpper();
dataGridView1.Rows.Add(satir);
}
bag.Close();
}
private void btnSil_Click(object sender, EventArgs e)
{
bag.Open();
cmd = new OleDbCommand(“delete from ogrenci where ID=” + id, bag);
int i = cmd.ExecuteNonQuery();
if (i == 1) MessageBox.Show(“Silme işlemi Başarılıdır”);
else MessageBox.Show(“Silme İşlemi Başarısız”);
bag.Close();
btnListele_Click(sender, e);
}
private void Form1_Load(object sender, EventArgs e)
{
btnSil.Enabled = false;
btnGuncelle.Enabled = false;
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
id = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);
btnGuncelle.Enabled = true;
btnSil.Enabled = true;
txtAd.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
txtSoyad.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
}
private void btnGuncelle_Click(object sender, EventArgs e)
{
string ad, soyad;
ad = txtAd.Text.Trim().ToLower();
soyad = txtSoyad.Text.Trim().ToLower();
bag.Open();
cmd = new OleDbCommand(“update ogrenci set ad='” + ad + “‘,soyad ='” + soyad + “‘ where ID=”+id, bag);
int i = cmd.ExecuteNonQuery();
if (i == 1) MessageBox.Show(“Güncelleme işlemi Başarılıdır”);
else MessageBox.Show(“Güncelleme İşlemi Başarısız”);
bag.Close();
txtAd.Clear();
txtSoyad.Clear();
btnListele_Click(sender, e);
Hocam excell deki verileri aktarırken sadece iki saat dilimi arasındaki verileri aktarmak istiyorum.
“SELECT * FROM [Sheet$] WHERE [Kayit] BETWEEN ‘27.01.2019 07:30:00’ AND ‘23.01.2019 20:00:00’ “, bag);
arkadaşlar benim sorunum excell hücresinin 255 karakter olması istediğim bilgileri sığdıramıyorum. Yardımcı olur musunuz?
Merhaba kodum aşağıdaki gibi ve aldığım hata da şu : Toplama işlevinin parçası olarak belirtilen ‘CLIENT_ID’ ifadesini içermeyen bir sorgu yürütmeyi denediniz. Sizce nerede hata yapıyorum? Yardımcı olursanız sevinirim.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.Data;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
OleDbConnection xlsxbaglanti = new OleDbConnection(@”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\exhibitA-input.xlsx; Extended Properties=’Excel 12.0 Xml;HDR=YES'”);
xlsxbaglanti.Open();
OleDbCommand komut = new OleDbCommand();
komut.Connection = xlsxbaglanti;
string sql = “SELECT COUNT(CLIENT_ID) AS CLIENT_COUNT, DISTINCT_PLAY_COUNT FROM( SELECT COUNT(SONG_ID) AS DISTINCT_PLAY_COUNT, CLIENT_ID FROM(SELECT CLIENT_ID, SONG_ID FROM [YeniSayfa$] WHERE PLAY_TS = ‘10.08.2016’ GROUP BY SONG_ID) GROUP BY CLIENT_ID) GROUP BY DISTINCT_PLAY_COUNT”;
komut.CommandText = sql;
komut.ExecuteNonQuery();
OleDbDataReader oku = komut.ExecuteReader();
while (oku.Read())
{
string client_count = oku[“CLIENT_COUNT”].ToString();
string distinc_play_count=oku[“DISTINCT_PLAY_COUNT”].ToString();
Console.WriteLine(“client count:”+ client_count + “distinct play count :” + distinc_play_count+ Environment.NewLine);
}
xlsxbaglanti.Close();
Console.ReadLine();
}
}
}
Merhaba
Excelden datagridviewe veri çekme işlemini biraz faarklı olarak başarı ile yaptım sıkıntı yok dosya yolu sabit yerine openfile dialog ile seçip listeleyebiliyorum ama benim şöyle bir sorunum var kullanacağım excel dosyasını internetten indiriyorum ve her indirdiğimde sayfa ismi farklı geliyor.Sayfa ismini değişekene atamak istiyorum.Bunun yolu varmıdır?Nedir? TEŞEKKÜRLER.
Kullandığım Kod :
OpenFileDialog ofd = new OpenFileDialog();
{
ofd.Filter = “xlsx |*.xlsx| xls|*.xls”;
ofd.Title = “Excel Dosyası Seçiniz..”;
ofd.RestoreDirectory = true;
};
if (ofd.ShowDialog() == DialogResult.OK)
{
string DosyaYolu = ofd.FileName;// dosya yolu
OleDbConnection baglanti = new OleDbConnection(@”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” + DosyaYolu + “; Extended Properties=’Excel 12.0 xml;HDR=YES;'”);
baglanti.Open();
OleDbDataAdapter da = new OleDbDataAdapter(“SELECT * FROM [Siparişler_07092018$C:E]”, baglanti);
DataTable DTexcel = new DataTable();
da.Fill(DTexcel);
DataTable datasource = DTexcel;
dataGridView1.DataSource = DTexcel;
baglanti.Close();
}
Excel.Application ExcelObj = new Excel.Application();
Excel.Workbook theWorkbook = null;
string strPath=”dosya yolu yazılacak”;
theWorkbook = ExcelObj.Workbooks.Open(strPath, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
Excel.Sheets sheets = theWorkbook.Worksheets;
Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);//Get the reference of second worksheet
string sayfaAdi= worksheet.Name;//Çalışma sayfasının adını alıyor.
Şifreli excell dosyasına nasıl bağlanıyoruz ?
Teşekkürler.
c#2010 kullanıyorum excell 2013 yüklü
referanslardan office 15.0 object yüklüyorum fakat datagrite görün bir türlü gelmiyor.
=Microsoft.ACE.OLEDB.12.0 bu kısmıda 15.0 olarakta denedim sonuç yok
yardımcı olabilir misiniz
birleştirilmiş satırlar var ise aktarma da sıkıntı oluyor bunu nasıl çözeriz hocam.
örneğin
no kişibilgileri
ad soyad
1 A B
Yukarıdaki gibiyse excel şablonumuz soyad kısmını forma aktarmıyor
Programı c# yazdığımda veri ekleme işlemi gerçekleştirebiliyorum ama datagrid de herhangi bir değişiklik olmuyor. Arka planda excele veri ekliyor fakat datagridde herhangi bir değişiklik olMuyor ???? Bunun için ne yapmamız gerekiyor
Programı c# yazdığımda veri ekleme işlemi gerçekleştirebiliyorum ama datagrid de herhangi bir değişiklik olmuyor. Arkada planda excele veri ekliyor fakat datagridde herhangi bir değişiklik oluyor ???? Bunun için ne yapmamız gerekiyor
Merhaba
Ben excele ekleme işlemi yaparken aşağıdaki hatayı alıyorum. Yardımcı olabilir misiniz?
komut.ExecuteNonQuery();
komutu uzerinde asagidaki hatayi aliyorum
An unhandled exception of type ‘System.Data.OleDb.OleDbException’ occurred in System.Data.dll
Additional information: Syntax error in INSERT INTO statement.
Merhaba ben hazır olan bi excel taslağı üzerinde sadece belli hücrelere değerler girdirmem gerekiyor nasıl yapabilirim bunu
Ben bu programı çalışır olarak atarmısın.komple veri tabanıyla birlikte.
Teşekkür ederim. Gösterim ve ekleme gayet iyi çalıştı. Fakat güncelleştirmeyi çalıştıramadım. Problem nerde acaba?
Büyük ihtimalle sorgunuzda problem vardır. Mesaj olarak ne gösteriyor görmem gerekiyor.
herkesin temel şikayeti bağlantı hatası nasıl çözecez? neden olur.
OleDbConnection baglanti = new OleDbConnection(@”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\veritabani.xlsx; Extended Properties=’Excel 12.0 xml;HDR=YES;'”);
Bununla ilgili ayrıca bir yazı eklemiştim. Aşağıdaki linki incelersiniz.
http://www.yazilimkodlama.com/c-2/microsoft-ace-oledb-12-0%E2%80%B2-saglayicisi-yerel-makine-kayitli-degil-hatasi-cozumu/
Merhabalar
An unhandled exception of type ‘System.InvalidOperationException’ occurred in System.Data.dll
Additional information: ‘Microsoft.ACE.OLEDB.12.0’ sağlayıcısı yerel makine kayıtlı değil.
bende bu şekilde bir hata alıyorum yardımcı olurmusunuz
http://www.yazilimkodlama.com/c-2/microsoft-ace-oledb-12-0%E2%80%B2-saglayicisi-yerel-makine-kayitli-degil-hatasi-cozumu/
Linkte bununla ilgili çözüm mevcut.
Additional information: Failure creating file. bu seferde bu hatayi aliyorum
Merhaba,
Excele yazılan değerler Metin olarak gözüküyor ben sayı olarak gözükmesini istiyorum.Ve örneğin Numara yerine 25 yazdığımda önüne ‘ işareti koyuyor.Bu konuda yardımcı olurmusunz
Microsoft Access veritabanı altyapısı ‘Sayfa2’ nesnesini bulamadı. Nesnenin varolduğundan ve adını ve yolunun adını doğru yazdığınızdan emin olun. ‘Sayfa2’ yerel nesne değilse, ağ bağlantınızı denetleyin veya sunucu yöneticisine başvurun. ŞÖYLE BİR HATA ALIYORUM.
SIKINTI NEDİR ACABA?
Excel dosyasinda sayfa2 nin adini degistirmis olabilirmisiniz? Kontrol ederek tekrar deneyin. Su an gormeden birşey diyemiyorum.
kontrol ettim ogrenci excel sayfa hiç bir farkı yok.
private void button2_Click(object sender, EventArgs e)
{
OleDbConnection baglanti = new OleDbConnection(@”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\ogrenci.xlsx; Extended Properties=’Excel 12.0 xml;HDR=YES;'”);
baglanti.Open();
OleDbDataAdapter da = new OleDbDataAdapter(“SELECT * FROM [Sayfa2]”, baglanti);
System.Data.DataTable dt = new System.Data.DataTable();
da.Fill(dt);
dtgrdvCihazBilgileri.DataSource = dt.DefaultView;
baglanti.Close();
}
kodu bu şekilde yazdım. excell dosyamıda ogrenci diye oluşturdum D nin içine attım Sayfa2 diye kayıtlı sayfam var ama o hatayı alıyorum bağlantıda bir hata mı yapıyorum çözemedim.
Projeyi yollarsaniz acil değilse aksam ya da yarin bilgisayarin basina gecince ilgilenirim. ahmet.cansever@yandex.com.tr
SELECT * FROM [Sayfa2] yerine SELECT * FROM [Sayfa2$] yazarsanız sorun giderilecektir…
merhaba sql veri tabanı kullanıyorum. excelden nasıl veri çekebilirim
Sql veri tabanina excel de bulunan verileri mi çekmek istiyorsunuz?
c# ta sql veri tabanı kullanıyorum. c#ta bulunan datagridview e excelden veri çekmek istiyorum.
Yazıdaki örnekteki gibi uygulayabilirsiniz.
oldb olunca hata veriyor kabul etmedi. sql de de oldbconnect kullanabilir miyim?
Sql icin sqlconnection excel icin oledb. Siz hem sql hem excel baglantisi kullanacaksaniz her ikisini de kullanacaksiniz. Ne yapmak istediginizi tam olarak bilmiyorum ama cift baglanti kurabilirsiniz.
C# programlamada Visual studio da yazıyorum. Excel dosyasındaki veriyi dosyayı seçerek sistemime yüklüyorum.Dosyasındaki sütunların birinde fatura sıra no diye bir alan var.Fatura sıra no en az 13 haneden oluşuyor örneğin 2016000000123 yada daha uzun olabiliyor. Bunu excel dosyasındaki ilgili hücreye yazınca bu şekilde değil örneğin 2,0000+E0000 vb. şekilde oluyor. Böyle bir veriyi hürce biçimlendirmesi yapmadan hatasız olarak nasıl yükleyebiliriz, kod lazım, hücrenin içini alsın.
Projenizi sıkıştırıp yollarsanız yardımcı olmaya çalışırım.
baglanti.Open(); kısmında bağlantı hatası alan arkadaşlar eğer x64 bir işletim sistemiyle çalışıyorlarsa; proje ayarlarından sırasıya Properties->Build->Platform target kısmından x86 ‘yı seçsinler.
merhaba linkteki hatayı alıyorum
http://hizliresim.com/883vDV
ve ben bu provider kısmını anlamadım neye göre onları yazıyoruz bende excel 2003 versiyonu var başka bir provider mı yazmalıyım.
sizin yazdıklarını yazdım olmadı ben ne yazmalıyım.
Merhaba hocam;
datagrid de seçili olan satırı silmeyi nasıl yapabiliriz? excel ile bağlıyorum diğer komutlar çalışıyor ama silme bulamadım.
Sizin kodu aynen kopyalayıp c sharp a yapıştırdım. Form u da aynen sizin gibi düzenledim.
Bağlantı açmada hata veriyor.
Merhaba. Bağlanmak istediğiniz excel dosyasının yeri ve ismini kontrol edermisiniz. Bağlantı cümlesindekine uygun olması gerekiyor.
(@”Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Kitap1.xlsx; Extended Properties=’Excel 12.0 xml;HDR=YES;'”);
masaüstüme Kitap1 diye bir excel oluşturdum. Yukarıdaki kodu yazdım.
Bağlantı aç ta hata verdi.
Bağlantı cümlenizde dosya masaüstünde olarak görünmüyor. C: içerisinde görünüyor. masaüstünde oluşturduğunuz Kitap1 dosyasını C: dizinine kopyalarsanız sorun düzelecektir diye düşünüyorum.
Merhaba ,
DEvamlı oledbexception was unhandlad hatası alıyorum.
baglanti.open(); kısmında veriyor bu hatayı
yardımcı olurmusunuz?
Bağlantı cümlenizle ilgili bir sorun olabilir. Baglanti cümlenizi yollar mısınız?
BENDE kayıtlı değil diyor bağlantıda hata verdi
Bağlantı cümlesini kontrol edin.
Merhabalar,
Excelde yaptığımız text değişiklikleri datagridview de gözükebiliyor. Peki excelde yaptığımız hücre renklendirmeleri, yazıyı kalınlaştırma gibi biçimlendirmeler de datagridviewde gözükebilir mi?
Teşekkürler.