NEWS

[C#] Hướng dẫn xuất danh sách hình ảnh nhân viên ra file Excel

[C#] Hướng dẫn xuất danh sách hình ảnh nhân viên ra file Excel
Đăng bởi: Thảo Meo - Lượt xem: 5947 08:20:54, 04/12/2020DEVEXPRESS   In bài viết

Xin chào các bạn, bài viết hôm nay mình sẻ tiếp tục hướng dẫn các bạn cách xuất hình ảnh ra file Excel sử dụng thư viện Epplus Winform C#.

[C#] Export Image to Excel using Epplus Winform

VD: Các bạn có một danh sách nhân viên, và các bạn muốn xuất thông tin kèm theo hình ảnh của nhân viên đó ra file Excel.

Như hình ảnh ở bên dưới đây.

Bao gồm hình thông tin nhân viên như: Họ tên, chức vụ, tuổi, địa chỉ, điện thoại...

image_excel

Source code export image to excel C#:

using OfficeOpenXml;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

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

        private void btnExport_Click(object sender, EventArgs e)
        {
            FileInfo newFile = new FileInfo(@"image.xlsx");
            if (newFile.Exists)
            {
                newFile.Delete();
                newFile = new FileInfo(@"image.xlsx");
            }
            ExcelPackage objExcelPackage = new ExcelPackage();  
            string[] filesindirectory = Directory.GetFiles("avatar");
            int count = 1;

            ExcelWorksheet ws = objExcelPackage.Workbook.Worksheets.Add("Worksheet" + count);
         
            foreach (string img in filesindirectory)
            {                
                Image myImage = Image.FromFile(img);
                var newImageResize = ResizeImage(myImage, 110, 130);
                var pic = ws.Drawings.AddPicture(count.ToString(), newImageResize);             
                pic.SetPosition(count, 0, 2, 0);

                ws.Cells[count+1,5].Value = "Tên nhân viên";
                ws.Cells[count+2,5].Value = "Tuổi 18";
                ws.Cells[count+3,5].Value = "Chức vụ: Nhân viên";
                ws.Cells[count+4,5].Value = "Địa chỉ: BRVT";
                ws.Cells[count+5,5].Value = "Điện thoại: 0933.913.122";
                
                
                count += 8;
            }

           
            ws.View.ShowGridLines = false;
            
            objExcelPackage.SaveAs(newFile);
            Process.Start(newFile.FullName);

        }

        public  Bitmap ResizeImage(Image image, int width, int height)
        {
            var destRect = new Rectangle(0, 0, width, height);
            var destImage = new Bitmap(width, height);

            destImage.SetResolution(image.HorizontalResolution, image.VerticalResolution);

            using (var graphics = Graphics.FromImage(destImage))
            {
                graphics.CompositingMode = CompositingMode.SourceCopy;
                graphics.CompositingQuality = CompositingQuality.HighQuality;
                graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
                graphics.SmoothingMode = SmoothingMode.HighQuality;
                graphics.PixelOffsetMode = PixelOffsetMode.HighQuality;

                using (var wrapMode = new ImageAttributes())
                {
                    wrapMode.SetWrapMode(WrapMode.TileFlipXY);
                    graphics.DrawImage(image, destRect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, wrapMode);
                }
            }

            return destImage;
        }
    }

}

Thanks for watching!

DOWNLOAD SOURCE

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

[C#] Hướng dẫn xuất danh sách hình ảnh nhân viên ra file Excel
Đăng bởi: Thảo Meo - Lượt xem: 5947 08:20:54, 04/12/2020DEVEXPRESS   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.