C# ile Excel Hücresine Dosya Adresi Olmayan Resmi Eklemek

Daha önce dosya adresi olan bir resmi C# uygulamamız ile Excel‘ e göndermiştik. Bir picturebox nesnemizin imagelocation özelliğinden dosya adresini okuayarak Excel’ e aktarmıştık. Şimdi ise dosya adresini bilmediğimiz bir picturebox nesnemizde bulunan resmi image özelliğinden okuyarak Excel’ e aktaracağız arkadaşlar.

Bunun için ilk önce EPPLUS Excel kütüphanesini yüklemeliyiz. Visual Studio programında Project sekmesinde Nuget Manager’ a girerek EPPLUS yazın ve yükleyin.

C# Nuget EPPLUS Office Open XML
C# Nuget EPPLUS Office Open XML

C# ile Excel’ e resim eklemek için C# kodunu aşağıda bulabilirsiniz.

// www.kaizen40.com

using System;
using System.IO;
using System.Windows.Forms;

using System.Drawing;
using OfficeOpenXml.Drawing;
using OfficeOpenXml;

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

            pictureBox1.DragEnter += PictureBox1_DragEnter;
            pictureBox1.DragDrop += PictureBox1_DragDrop;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            pictureBox1.AllowDrop = true;
        }

        private void PictureBox1_DragDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                e.Effect = DragDropEffects.All;
            }
            else
            {
                e.Effect = DragDropEffects.None;
            }
        }

        private void PictureBox1_DragEnter(object sender, DragEventArgs e)
        {
            string[] s = (string[])e.Data.GetData(DataFormats.FileDrop, false);

            for (int i = 0; i < s.Length; i++)
            {
                var iSize = new FileInfo(s[i]).Length;
                pictureBox1.ImageLocation = s[i];
            }
        }

        private void BtnExcel_Click(object sender, EventArgs e)
        {
            ExcelPackage ExcelPkg = new ExcelPackage();
            ExcelWorksheet wsSheet1 = ExcelPkg.Workbook.Worksheets.Add("Sheet1");  // yeni sheet oluştur
            //ExcelWorksheet wsSheet1 = ExcelPkg.Workbook.Worksheets[1];  // mevcut 1.sayfayı aç

            wsSheet1.Cells[1,1].Value = "www.kaizen40.com";

            //Image img = Image.FromFile(@"C:\Users\***\Desktop\test.jpg");
            ExcelPicture pic = wsSheet1.Drawings.AddPicture("Sample", pictureBox1.Image);
            pic.SetPosition(1, 0, 1, 0);
            //pic.SetPosition(PixelTop, PixelLeft);  
            pic.SetSize(Height, Width);
            //pic.SetSize(40);  
            wsSheet1.Protection.IsProtected = false;
            wsSheet1.Protection.AllowSelectLockedCells = false;
            ExcelPkg.SaveAs(new FileInfo(@"C:\Users\" + Environment.UserName + @"\Desktop\New.xlsx"));
        }
    }
}

Burada picturebox.image okunarak belirlediğimiz bir adreste excel’ in içindeki belirlediğimiz bir hücreye resim eklendikten sonra masaüstümüze kaydedilmektedir. Umarım işinize yarar. İyi çalışmalar.

C# ile Excel Hücresine Resim Yükleme
C# ile Excel Hücresine Resim Yükleme

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.