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# 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.
0 yorum