Tweet

Ana Sayfa   Forum   C#.NET
Yeni Başlık Cevap Ekle
white_bullet DataGrid---Excel (21/10/2008 06:47)
profil
 offline OFFLINE
 New Coder

Merhabalar;
DataGridView da excel sayfasını göstermesini istiyorum.

Şöyle bir kod yazdım;

OleDbConnection c;

c.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\deneme.xls;Extended Properties=Excel 8.0";

Tabi daha devamı var:)

Burda c.connectionString satırındaki c nin altını çiziyor ve hata veriyor

Bunu nasıl düzeltebilirim?
Yardımcı olursanız sevinirim :)

Üye Profili

white_bullet Re:DataGrid---Excel (21/10/2008 08:34)
profil Oguzz
 offline OFFLINE
 Senior Coder

CODE:

private void ExcelOkur() 
{
dataGridView1.ColumnCount = 5;
dataGridView1.ColumnHeadersVisible = true;
dataGridView1.Columns[0].Name = "Bölüm";
dataGridView1.Columns[1].Name = "Açıklama";
dataGridView1.Columns[2].Name = "Tutar";
dataGridView1.Columns[3].Name = "?";
dataGridView1.Columns[4].Name = "Hesap";
Excel.Workbook theWorkbook =
ExcelNesnesi.Workbooks.Open(
openFileDialog1.FileName,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing,
Type.Missing);
Excel.Sheets sheets = theWorkbook.Worksheets;
Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);
for (int i = 19; i <= 47; i++)
{
Excel.Range range = worksheet.get_Range("B" + i.ToString(), "F" + i.ToString());
System.Array myvalues = (System.Array)range.Cells.Value2;
string[] strArray = ConvertToStringArray(myvalues);
if (strArray[4].ToString() != "")
{
dataGridView1.Rows.Add(strArray);
}
}
for (int j = 18; j <= 47; j++)
{
Excel.Range range = worksheet.get_Range("H" + j.ToString(), "L" + j.ToString());
System.Array myvalues = (System.Array)range.Cells.Value2;
string[] strArray = ConvertToStringArray(myvalues);
if (strArray[4].ToString() != "")
{
dataGridView1.Rows.Add(strArray);
}
}
theWorkbook.Close(false, null, null);
//ExcelNesnesi.Workbooks.Close();
button4.Enabled = true;
}

string[] ConvertToStringArray(System.Array values)
{
string[] theArray = new string[values.Length];
for (int i = 1; i <= values.Length; i++)
{
if (values.GetValue(1, i) == null)
theArray[i - 1] = "";
else
theArray[i - 1] = (string)values.GetValue(1, i).ToString();
}

return theArray;
}

just code it!

profil

white_bullet Re:DataGrid---Excel (21/10/2008 09:47)
profil
 offline OFFLINE
 New Coder

Vermiş olduğunuz kod için teşekkür ederim .
Anladığım kadarıyla o kodda yeni bir excel oluşturuyosunuz.
Benim istediğim ise önceden oluşturulmuş bir excel dosyasına devamlı kaydetmesi :(

Yardımlarınız için tşk...

profil

white_bullet Re:DataGrid---Excel (21/10/2008 10:20)
profil Oguzz
 offline OFFLINE
 Senior Coder

Ancak siz ilk önce gridview da sayfayı göstermekten bahsetmişsiniz.Tam olarak istediğiniz varolan bir excel dosyasına kayıt yaptırmakmı yani grid den excele aktarmamı?

Bu arada gridler vs derken açtığın diğer konuyada baktım.Yapmak istedeğin şeyi söyle istersen genel olarak yardımcı olalım hem sen kısa kısa soru sormamış olursun hemde tek seferde yardımcı oluruz daha iyi olur.

just code it!

profil

white_bullet Re:DataGrid---Excel (22/10/2008 00:56)
profil
 offline OFFLINE
 New Coder

Şöyle sölim ;
Formumda datagrid , textbox ve buton var.
Form açıldığında önceden oluşturulan bir excel dosyasını datagrid de gösterecek ve textbox a veri girilip butona basıldığında aynı excele kaydedecek.Ve ben bu kayıt edeilen veriyi hem formumda görebileceğim hemde excel dosyasını açtığımda oraya kayıt olmuş olarak görmek istiyorum.
İstediğim gibi kod buldum.Kodlar şu şekilde;

Formun load özelliğine;

Dim c As New OleDb.OleDbConnection
c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:deneme.xls;Extended Properties=Excel 8.0"
Dim cmd As New OleDbCommand("Select * from giriss", c)
Dim adp As New OleDbDataAdapter(cmd)
Dim ds As New DataSet
adp.Fill(ds, "giriss")
DataGrid1.DataSource = ds.Tables("giriss")


Butonun click özelliğine de;

Dim c As New OleDb.OleDbConnection
c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:deneme.xls;Extended Properties=Excel 8.0"
Dim cmd As New OleDbCommand("insert into giriss(Artikel Kodu,Malzeme Adı,Giriş Tarihi,Giriş Adedi,Giriş Yeri),values('" + ComboBox1.Text + "','" + TextBox1.Text + "','" + DateTimePicker1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')", c)
Dim adp As New OleDbDataAdapter(cmd)
Dim ds As New DataSet
adp.Fill(ds, "giriss")
cmd.ExecuteNonQuery()
DataGrid1.DataSource = ds.Tables("giriss")

Kodalrı var.
Ama;
adp.Fill(ds,giriss)

Kodunda hata veriyor.
Hata : Belitrilen adres yolu bulunamadı.

Diyor.Adres yolunu doğru yazabilirsem sorun ortadan kalkacak gibi...

profil

white_bullet Re:DataGrid---Excel (22/10/2008 14:29)
profil Oguzz
 offline OFFLINE
 Senior Coder

Eee hata belli olduğuna göre neden uğraşıyorsun adres yoluna yoğunlaşsan daha iyi olmazmı?bir kaç sitedede açtığın konularına rastladım aynı başlıkta bence sorunu iyi analiz etmen gerekirki kendinde diyorsun adres yolu diye sorun bu ikisinde ds,giriss uyuşmayan birşeyler var sanırım nasıl bir işleme tabii tutuyorsun bilemiyorum artık..

just code it!

profil
 
1 /
 
Ana Sayfa   Forum   C#.NET
Yeni Başlık Cevap Ekle
 

MENÜ » FORUM
Menü » Takip et
RSS Facebook Twitter Friendfeed
Sık Kullanılanlar Google Yahoo Live
Menü » Paylaş
E-Posta ile gönder Twitter Facebook Friendfeed
Buzz Stumbleupon Delicious Digg