Osman KURT

Yazılım Uzmanı

ASP.Net de Excelden Veri Okuma ve Okunan Veriyi SQL'e Aktarma

Bu yazımda sizlere geçen bir projemde kullanmış olduğum bir kod yapısından bahsedeceğim. Excelden veriyi okumak ve okunan veriyi sql e kod kullanarak kaydetmek.

Öncelikle sayfamıza bir adet gridview ekliyoruz. Daha sonra c# tarafımıza geçerek excelden verilerimizi çekerek gridview içine dolduruyoruz.

 

protected void Page_Load(object sender, EventArgs e)
    {
        GridView1.DataSource = getirTumATSTablo();
        GridView1.DataBind();
    }

    DataTable getirTumATSTablo()
    {
        string dosya_adres = @"D:\osmankurt.xls";
        OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dosya_adres + ";Extended Properties=Excel 8.0");
        baglanti.Open();

        string query = "select * from [Sayfa1$A1:C800] ";
        OleDbDataAdapter oAdp = new OleDbDataAdapter(query, baglanti);
        DataTable dt = new DataTable();
        oAdp.Fill(dt);
        return dt;

    }

 

Şimdi sayfamıza bir adet buton atıyoruz ve butonumuza çift tıklıyoruz. Açılan kod satırımıza alt kısımda ki kodlarımızı yazıyoruz.

 

foreach (GridViewRow row in GridView1.Rows)
        {
            SqlCommand cmd = new SqlCommand("insert into Mail (A,B) values (@A,@B)", baglan.baglanti);
            cmd.Parameters.AddWithValue("@A", row.Cells[0].Text);
            cmd.Parameters.AddWithValue("@B", row.Cells[1].Text);
            if (ConnectionState.Closed == baglan.baglanti.State)
                baglan.baglanti.Open();
            cmd.ExecuteNonQuery();
            baglan.baglanti.Close();
        }

 

Bu kodumuzda yaptığımız işlem gridview içindeki satırları tek tek dolaşarak her satırda yazılı veriyi veritabanımıza kaydetmek. Algoritması son derece basit. Aslında bu işi direk yapan kod bloklarımız var fakat ben böyle bir yöntemle okumaya gittim.

Görüşmek Üzere,

Osman KURT

Yazılım Geliştirici ve Grafiker | Ineta K12 Spekaer

ASP.Net Hava Durumu Çekmek

Bu yazımda asp.net de google apilerini kullanarak hava durumunu çekmeyi paylaşacağım. İşinize yarayacak bir işlev olarak düşünüyorum.

<div style="text-align: center;">
<asp:DropDownList ID="ddlSehirler" CssClass="bultentxt" runat="server">
<asp:ListItem>ADANA</asp:ListItem>
<asp:ListItem>ADIYAMAN</asp:ListItem>
<asp:ListItem>AFYONKARAHİSAR</asp:ListItem>
<asp:ListItem>AĞRI</asp:ListItem>
<asp:ListItem>AKSARAY</asp:ListItem>
<asp:ListItem>AMASYA</asp:ListItem>
<asp:ListItem>ANKARA</asp:ListItem>
<asp:ListItem>ANTALYA</asp:ListItem>
<asp:ListItem>ARDAHAN</asp:ListItem>
<asp:ListItem>ARTVİN</asp:ListItem>
<asp:ListItem>AYDIN</asp:ListItem>
<asp:ListItem>BALIKESİR</asp:ListItem>
<asp:ListItem>BARTIN</asp:ListItem>
<asp:ListItem>BATMAN</asp:ListItem>
<asp:ListItem>BAYBURT</asp:ListItem>
<asp:ListItem>BİLECİK</asp:ListItem>
<asp:ListItem>BİNGÖL</asp:ListItem>
<asp:ListItem>BİTLİS</asp:ListItem>
<asp:ListItem>BOLU</asp:ListItem>
<asp:ListItem>BURDUR</asp:ListItem>
<asp:ListItem>BURSA</asp:ListItem>
<asp:ListItem>ÇANAKKALE</asp:ListItem>
<asp:ListItem>ÇANKIRI</asp:ListItem>
<asp:ListItem>ÇORUM</asp:ListItem>
<asp:ListItem>DENİZLİ</asp:ListItem>
<asp:ListItem>DİYARBAKIR</asp:ListItem>
<asp:ListItem>DÜZCE</asp:ListItem>
<asp:ListItem>EDİRNE</asp:ListItem>
<asp:ListItem>ELAZIĞ</asp:ListItem>
<asp:ListItem>ERZİNCAN</asp:ListItem>
<asp:ListItem>ERZURUM</asp:ListItem>
<asp:ListItem>ESKİŞEHİR</asp:ListItem>
<asp:ListItem>GAZİANTEP</asp:ListItem>
<asp:ListItem>GİRESUN</asp:ListItem>
<asp:ListItem>GÜMÜŞHANE</asp:ListItem>
<asp:ListItem>HAKKARİ</asp:ListItem>
<asp:ListItem>HATAY</asp:ListItem>
<asp:ListItem>IĞDIR</asp:ListItem>
<asp:ListItem>ISPARTA</asp:ListItem>
<asp:ListItem>İSTANBUL</asp:ListItem>
<asp:ListItem>İZMİR</asp:ListItem>
<asp:ListItem>KAHRAMANMARAŞ</asp:ListItem>
<asp:ListItem>KARABÜK</asp:ListItem>
<asp:ListItem>KARAMAN</asp:ListItem>
<asp:ListItem>KARS</asp:ListItem>
<asp:ListItem>KASTAMONU</asp:ListItem>
<asp:ListItem>KAYSERİ</asp:ListItem>
<asp:ListItem>KIRIKKALE</asp:ListItem>
<asp:ListItem>KIRKLARELİ</asp:ListItem>
<asp:ListItem>KIRŞEHİR</asp:ListItem>
<asp:ListItem>KİLİS</asp:ListItem>
<asp:ListItem>KOCAELİ</asp:ListItem>
<asp:ListItem>KONYA</asp:ListItem>
<asp:ListItem>KÜTAHYA</asp:ListItem>
<asp:ListItem>MALATYA</asp:ListItem>
<asp:ListItem>MANİSA</asp:ListItem>
<asp:ListItem>MARDİN</asp:ListItem>
<asp:ListItem>MERSİN</asp:ListItem>
<asp:ListItem>MUĞLA</asp:ListItem>
<asp:ListItem>MUŞ</asp:ListItem>
<asp:ListItem>NEVŞEHİR</asp:ListItem>
<asp:ListItem>NİĞDE</asp:ListItem>
<asp:ListItem>ORDU</asp:ListItem>
<asp:ListItem>OSMANİYE</asp:ListItem>
<asp:ListItem>RİZE</asp:ListItem>
<asp:ListItem>SAKARYA</asp:ListItem>
<asp:ListItem>SAMSUN</asp:ListItem>
<asp:ListItem>SİİRT</asp:ListItem>
<asp:ListItem>SİNOP</asp:ListItem>
<asp:ListItem>SİVAS</asp:ListItem>
<asp:ListItem>ŞANLIURFA</asp:ListItem>
<asp:ListItem>ŞIRNAK</asp:ListItem>
<asp:ListItem>TEKİRDAĞ</asp:ListItem>
<asp:ListItem>TOKAT</asp:ListItem>
<asp:ListItem>TRABZON</asp:ListItem>
<asp:ListItem>TUNCELİ</asp:ListItem>
<asp:ListItem>UŞAK</asp:ListItem>
<asp:ListItem>VAN</asp:ListItem>
<asp:ListItem>YALOVA</asp:ListItem>
<asp:ListItem>YOZGAT</asp:ListItem>
<asp:ListItem>ZONGULDAK</asp:ListItem>
</asp:DropDownList>
<br />
<span id="spnIkon" class="ikon" runat="server"></span>
<br />
<span id="spnDerece" class="derece" runat="server"></span>
<br />
<span id="spnDurum" class="durum" runat="server"></span><span id="spnNem" class="nem"
runat="server"></span>
<br />
<span id="spnRuzgar" class="ruzgar" runat="server"></span>
</div>

 

C# Kısmında ise;

 

try
            {
                string strGelenIl = Request.QueryString["Il"];
                if (string.IsNullOrEmpty(strGelenIl))
                {
                    strGelenIl = "KONYA";
                }
                WebClient webClient = new WebClient();
                string strKaynak = webClient.DownloadString("http://www.google.com/ig/api?weather=" + strGelenIl + "&hl=tr");
                TextReader trOkuyucu = new StringReader(strKaynak);
                webClient.Dispose();

                ddlSehirler.Attributes.Add("onchange", "location.href='?Il='+this.value+''");
                ddlSehirler.SelectedValue = strGelenIl;

                XmlTextReader rdr = new XmlTextReader(trOkuyucu);
                XmlDocument myxml = new XmlDocument();
                myxml.Load(rdr);
                XmlNodeList xnlHedef = myxml.SelectNodes("xml_api_reply/weather/current_conditions");

                string strDerece = xnlHedef.Item(0).SelectSingleNode("temp_c").Attributes["data"].InnerText;
                string strDurum = xnlHedef.Item(0).SelectSingleNode("condition").Attributes["data"].InnerText;
                string strNem = xnlHedef.Item(0).SelectSingleNode("humidity").Attributes["data"].InnerText;
                string strIkon = "<img src=\"http://www.google.com/" + xnlHedef.Item(0).SelectSingleNode("icon").Attributes["data"].InnerText + "\" alt=\"" + strGelenIl + "\" />";
                string strRuzgar = xnlHedef.Item(0).SelectSingleNode("wind_condition").Attributes["data"].InnerText;
                spnIkon.InnerHtml = strIkon;
                spnDurum.InnerText = strDurum;
                spnDerece.InnerText = strDerece + " °C";
                spnNem.InnerText = strNem;
                spnRuzgar.InnerText = strRuzgar;

                trOkuyucu.Dispose();
                rdr.Close();
                rdr = null;
                myxml = null;
                xnlHedef = null;
            }
            catch (Exception)
            {

            }

 

Kaynak Kod GoogleHava_OsmanKURT.rar (63,52 kb)

Kaynak Kod Yahoo: havadurumuYahoo.rar (750,71 kb)

Yazımız bu kadar arkadaşlar görüşmek üzere

Osman KURT

Yazılım geliştirici ve grafiker

ASP.Net de Dosyaların İçeriğini Okuma Değiştirme ve Kaydetme

Bu yazımda asp.net projelerimizde hiçbir şekilde ftp ye müdahale etmeden belirlediğimiz dosyalar üzerinde değişiklik yapma imkanı sağlayan kod bloğumuzu göstereceğim. Bu kod bloğunun bize şöyle faydası olabilir. Bitmis bir proje üzerinde ani bir değişiklik yapma durumumuz oldu diyelim. Ne yapıcaz? Ftp bilgilerininde olmadığını varsayarsak daha önceden projemize entegre ettiğimiz bir sayfada listeden değişiklik yapacağımız sayfayı seçmek suretiyle sayfa üzerinde her türlü değişikliği yapabiliriz.

Kod bloğumuz alt kısımda ki gibidir.

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DirectoryInfo dosyalar = new DirectoryInfo(Server.MapPath("~/"));
            Repeater1.DataSource = dosyalar.GetFiles("*.htm");
            Repeater1.DataBind();
            if (Request.QueryString["degistir"] != null)
            {
                duzeltme.Visible = true;
                string degistirilecek = Request.QueryString["degistir"];
                StreamReader oku = new StreamReader(Server.MapPath("~/" + degistirilecek), System.Text.Encoding.Default);
                TextBox1.Value = oku.ReadToEnd();
                oku.Close();
                oku.Dispose();
            }
        }
    }
    protected void Button_kaydet_Click(object sender, EventArgs e)
    {
        string yazilacak = Request.QueryString["degistir"];
        StreamWriter yaz = new StreamWriter(Server.MapPath("~/" + yazilacak), false, System.Text.Encoding.Default);
        yaz.Write(TextBox1.Value);
        yaz.Close();
        yaz.Dispose();
        Label1.Text = "Değiştirme Başarılı.";
    }


Görüşmek Üzere

Osman KURT

Yazılım Geliştirici ve Grafiker