folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Asp.Net Excel'e Aktarma Sorunu



Asp.Net Excel'e Aktarma Sorunu

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Merhaba arkadaşlar, bir tane GridView bulunmakta. içerisinde veriler var ve ben bunu excele aktarmak istiyorum. Aslında oldu fakat istenilen bir şey daha var.

    Excel çıktısının en tepesinde

    "Firma Logosu", "Rapor İsmi" yazdırmam gerekiyor. Header felan ekleyip resim urlsini göstermeme rağmen Excel'de çıkmadığı gibi verilerin sol tarafında gösteriyor.

     

    "Logo" ve "Telefoncular Listesi" şeklinde belirtilenlerin gelmesini istiyorum. Şimdiden teşekkürler.


    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Amatör Üye
    masteryoda
    masteryoda's avatar
    Kayıt Tarihi: 15/Mayıs/2012
    Erkek

    .net bilmiyorum ama https://msdn.microsoft.com/en-us/vba/excel-vba/articles/shapes-addpicture-method-excel burada ki LinkToFile parametresini false gönderirsen resim dosyan exele gömülür diğer türlü resimler de excel dosyanla beraber taşınmak zorunda kalır.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Keyif Pezosu
    undefined-01
    undefined-01's avatar
    Kayıt Tarihi: 19/Aralık/2003
    Homo

    Ben bu tarz excel'e aktar ma veya excelden c# aktarma noktasinda EPPLUS dll sini kullanıyorum. bir incele istersen image tipi text format gibi seyleri mecut ve load datatable gibi bir komutu daha var yeni versionu da cok hizli


    Bana balık tutmayı öğretmeyin; ben balıkçı değilim. Felsefe yapmayın. Ben şefim, aşçıyım. Bana parasıyla balık verin; sushi yapıp satayım, hepimiz karnımızı doyuralım. Yoksa hepimiz balıkçı olursak, bu gölde balık kalmaz. Sürdürülebilir olmalıyız. Çünkü bugün aç bıraktığınız insan, yarın karşınıza harami olarak çıkabilir; kendine de size de zarar verebilir.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Keyif Pezosu
    undefined-01
    undefined-01's avatar
    Kayıt Tarihi: 19/Aralık/2003
    Homo

    Burada resim ile ilgili bir dalga dümenler var istersen hocam :

    https://forums.asp.net/t/2071710.aspx?Export+Images+From+A+Directory+To+Excel+Using+EPplus 

    Benim kendi rapor exporum için kullandığım fonksiyonum :

     

    [code]public ActionResult Export_DsToExcel(DataSet ds, string FileName, string[] Names = null)

    {
        string dosyaAdi = string.Format("{1}_{0:ddMMyyyy_hhmmss_fffff}.xlsx", DateTime.Now, FileName);
        string fullFile = Path.Combine(System.Web.HttpContext.Current.Server.MapPath(@"~/Exports"), dosyaAdi);
        var newFile = new FileInfo(fullFile);
        if (newFile.Exists)
        {
            newFile.Delete();
        }
     
     
        using (var package = new ExcelPackage(newFile))
        {
            for (int i = 0; i < ds.Tables.Count; i++)
            {
                string shName = ds.Tables[i].TableName;
     
                try
                {
                    if (Names != null && Names.Length > i)
                        shName = Names[i];
                }
                catch
                {
                }
     
     
                ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(shName);
                worksheet.Cells["A1"].LoadFromDataTable(ds.Tables[i], true, TableStyles.Dark9);
     
                //EPPLUS'in bir bug'i ile ilgili bu aşağıdaki döngü eklendi.
                if (ds.Tables[i].Rows.Count == 0)
                {
                    for (int a = 0; a < ds.Tables[i].Columns.Count; a++)
                    {
                        worksheet.Cells[1, a + 1].Value = ds.Tables[i].Columns[a].ColumnName;
                    }
                }
     
                for (int a = 0; a < ds.Tables[i].Columns.Count; a++)
                {
                    if (ds.Tables[i].Columns[a].ColumnName.ToLower().IndexOf("tarih") >= 0
                        || ds.Tables[i].Columns[a].ColumnName.ToLower().IndexOf("tarıh") >= 0
                        || ds.Tables[i].Columns[a].ColumnName.ToLower().IndexOf("date") >= 0)
                    {
                        try
                        {
                            worksheet.Cells[2, a + 1, ds.Tables[i].Rows.Count + 1, a + 1].Style.Numberformat.Format = "dd/MM/yyyy HH:mm:ss";
     
                        }
                        catch (Exception)
                        {
     
                        }
                    }
                }
                worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns();
            }
            package.Workbook.Properties.Title = "Dokum Rapor - " + FileName;
            package.Workbook.Properties.Author = "YPay";
            package.Save();
        }
     
        return Redirect(string.Format("/Exports/{0}", dosyaAdi)); 

    }[/code]


    Bana balık tutmayı öğretmeyin; ben balıkçı değilim. Felsefe yapmayın. Ben şefim, aşçıyım. Bana parasıyla balık verin; sushi yapıp satayım, hepimiz karnımızı doyuralım. Yoksa hepimiz balıkçı olursak, bu gölde balık kalmaz. Sürdürülebilir olmalıyız. Çünkü bugün aç bıraktığınız insan, yarın karşınıza harami olarak çıkabilir; kendine de size de zarar verebilir.
Toplam Hit: 1137 Toplam Mesaj: 4
asp.net gridview header sorunu