C#中实现DataGridView数据的优雅Excel之旅(EPPlus)

DataGridView效果图:

EXCEL效果图:

代码如下:

首先要引入EPPlus包 可以使用命令行来安装 Install-Package EPPlus  也可以使用NUGet搜索EPPlus来安装

  public Homes()
  {
      InitializeComponent();

      ExcelPackage.LicenseContext = OfficeOpenXml.LicenseContext.NonCommercial; // 设置EPPlus为非商业使用
  }
 #region 导出Excel
 private void button2_Click(object sender, EventArgs e)
 {
     // 创建一个SaveFileDialog实例
     SaveFileDialog saveFileDialog = new SaveFileDialog();
     saveFileDialog.Filter = "Excel文件 (*.xlsx)|*.xlsx";
     saveFileDialog.FileName = $"{DateTime.Now.ToString("yyyyMMdd_HHmmss")}.xlsx"; // 设置默认文件名为当前日期时间

     // 如果用户点击了“保存”按钮,则保存文件
     if (saveFileDialog.ShowDialog() == DialogResult.OK)
     {
         string filePath = saveFileDialog.FileName;
         FileInfo excelFile = new FileInfo(filePath);

         // 创建一个ExcelPackage对象
         using (ExcelPackage excelPackage = new ExcelPackage())
         {
             // 添加一个工作表
             ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("员工表");

             // 将DataGridView的列标题写入Excel第一行
             for (int i = 0; i < dataGridView1.Columns.Count; i++)
             {
                 worksheet.Cells[1, i + 1].Value = dataGridView1.Columns[i].HeaderText;
             }

             // 将DataGridView的内容写入Excel
             for (int row = 0; row < dataGridView1.Rows.Count - 1; row++) // 不包括合计行
             {
                 for (int col = 0; col < dataGridView1.Columns.Count; col++)
                 {
                     worksheet.Cells[row + 2, col + 1].Value = dataGridView1.Rows[row].Cells[col].Value;
                 }
             }

             // 保存Excel文件
             excelPackage.SaveAs(excelFile);

            // MessageBox.Show("文件保存成功!", "成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }
     NMessage("导出数据成功", NotificationType.Info);
 }
 #endregion

相关推荐

  1. C#使用NPOI保存DataGridView数据EXCEL文件

    2024-05-09 06:52:05       40 阅读
  2. C# EPPlus导出dataset----Excel3样式

    2024-05-09 06:52:05       39 阅读
  3. 在Unity使用EPPlus库NPOI库写入Excel数据

    2024-05-09 06:52:05       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-09 06:52:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-09 06:52:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-09 06:52:05       87 阅读
  4. Python语言-面向对象

    2024-05-09 06:52:05       96 阅读

热门阅读

  1. QT--day3

    QT--day3

    2024-05-09 06:52:05      27 阅读
  2. ollama + autogen排雷

    2024-05-09 06:52:05       36 阅读
  3. 学习笔记:计算机算法设计与分析第一章

    2024-05-09 06:52:05       33 阅读
  4. Rancher Deployment (Helm)

    2024-05-09 06:52:05       40 阅读
  5. [工程构建] 使用pkg-config协助工程搭建

    2024-05-09 06:52:05       34 阅读
  6. 深入探索:npm详解

    2024-05-09 06:52:05       35 阅读