NEWS

[C#] Hướng dẫn xuất dữ liệu từ DataGridview ra file Excel

[C#] Hướng dẫn xuất dữ liệu từ DataGridview ra file Excel
Đăng bởi: Thảo Meo - Lượt xem: 6042 10:21:50, 27/07/2022VB.NET   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 dữ liệu từ DataGridview ra file Excel trên Winform C#.

[C#] Export data from DataGridview to Excel

Dưới đây là giao diện demo ứng dụng:

data_gridview_to_excel

Trong bài viết, mình sử dụng thư viện:  Microsoft.Office.Interop.Excel, các bạn có thể tải về từ nuget

PM> Install-Package Microsoft.Office.Interop.Excel -Version 15.0.4795.1001

Full source code C#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

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

        private void Form1_Load(object sender, EventArgs e)
        {
            LoadGridData();
        }

        private void LoadGridData()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("EmpNo.",typeof(int));
            dt.Columns.Add("Emp.Name",typeof(string));
            dt.Columns.Add("Hiredate",typeof(DateTime));
            dt.Columns.Add("Department",typeof(int));
            dt.Columns.Add("Salary",typeof(double));

            DataRow dr = dt.NewRow();
            dr["EmpNo."] = 1;
            dr["Emp.Name"] = "Nguyễn Thảo";
            dr["Hiredate"] = DateTime.Now;
            dr["Department"] = 20;
            dr["Salary"] = 15000;

            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["EmpNo."] = 2;
            dr["Emp.Name"] = "Trịnh Quốc Khang";
            dr["Hiredate"] = DateTime.Now.AddMinutes(1);
            dr["Department"] = 30;
            dr["Salary"] = 17000;

            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["EmpNo."] = 3;
            dr["Emp.Name"] = "Nguyễn Đình Tuyên";
            dr["Hiredate"] = DateTime.Now.AddMinutes(1);
            dr["Department"] = 30;
            dr["Salary"] = 17000;

            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["EmpNo."] = 4;
            dr["Emp.Name"] = "Hoàng Thị Thảo";
            dr["Hiredate"] = DateTime.Now.AddMinutes(1);
            dr["Department"] = 30;
            dr["Salary"] = 17000;

            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["EmpNo."] = 4;
            dr["Emp.Name"] = "Cái Trí Minh";
            dr["Hiredate"] = DateTime.Now.AddMinutes(1);
            dr["Department"] = 30;
            dr["Salary"] = 17000;

            dt.Rows.Add(dr);

            dataGridView1.DataSource = dt;
        }

        private void btn_Cancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btn_Export_Click(object sender, EventArgs e)
        {
            if (dataGridView1.Rows.Count > 0)
            {
                Microsoft.Office.Interop.Excel.ApplicationClass XcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
                XcelApp.Application.Workbooks.Add(Type.Missing); 
                 
                for (int i = 1; i < dataGridView1.Columns.Count + 1; i++)
                {
                    XcelApp.Cells[1, i] = dataGridView1.Columns[i - 1].HeaderText;
                }

                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    for (int j = 0; j < dataGridView1.Columns.Count; j++)
                    {
                        XcelApp.Cells[i + 2, j + 1] = dataGridView1.Rows[i].Cells[j].Value.ToString();
                    }
                }
                XcelApp.Columns.AutoFit();
                XcelApp.Visible = true;
            }
        }
    }
}

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 dữ liệu từ DataGridview ra file Excel
Đăng bởi: Thảo Meo - Lượt xem: 6042 10:21:50, 27/07/2022VB.NET   In bài viết

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

Đọc tiếp