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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/602214.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习:人工智能中实现自动化决策与精细优化的核心驱动力

&#x1f512;文章目录: &#x1f4a5;1.概述 ❤️2.机器学习基本原理 &#x1f6e4;️2.1定义与关键概念 &#x1f6e3;️2.2 机器学习算法 ☔3.自动化决策中的机器学习应用 &#x1f6b2;4.精细优化与机器学习的结合 &#x1f44a;5.挑战与前景 &#x1f4a5;1.概述 …

2024年学浪课程下载工具

学浪下载工具我已经打包好了&#xff0c;有需要的自己下载一下 学浪下载器链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;1234 --来自百度网盘超级会员V10的分享 1.首先解压好我给大家准备好的压缩包 2.打开解压好的文件夹里面的N_m3u8D文件夹&#xff0c;然…

世界上最好用的在线看板工具 Trello 已支持 AI 啦!

对 Trello 免费版用户的提醒 从5月20日开始&#xff0c;免费版 Trello 工作区仅支持 10 个协作者&#xff0c;超过此限制将仅支持查看&#xff0c;无法编辑。解决这一问题的方法是减少协作者数量或升级到标准版或高级版。 Atlassian 去年在其云平台中引入了人工智能工具 Atlas…

TikTok营销策略解析:7大关键要素打造品牌影响力

TikTok作为近年来迅速崛起的短视频社交平台&#xff0c;已经成为全球范围内品牌营销的重要阵地。对于品牌而言&#xff0c;如何在TikTok上有效地开展营销活动&#xff0c;吸引目标受众的注意力&#xff0c;提升品牌知名度和影响力&#xff0c;是摆在他们面前的重要课题。本文No…

Tcl学习笔记(四)——流程控制、过程、命名空间、访问文件

1. 流程控制 if命令 if命令后跟两个参数&#xff1a;表达式、待执行的Tcl脚本。if命令中的每一个左大括号都必须与它前一个字符同行。 有elseif和else可选子句&#xff0c;使用时与if中第二个参数的右大括号放在同一行。 switch命令 switch命令利用一个给定值与多个模式进行匹…

Redis-五大数据类型-Hash(哈希)

五大数据类型-Hash&#xff08;哈希&#xff09; 简介 Hash是一个键值对的集合。 Hash 是一个 String 类型的 field&#xff08;字段&#xff09; 和 value&#xff08;值&#xff09; 的映射表&#xff0c;hash 特别适合用于存储对象。 Hash 是 Redis 中出现最为频繁的复合…

大模型市场爆发式增长,但生成式AI成功的关键是什么?

进入2024年&#xff0c;大模型市场正在爆发式增长。根据相关媒体的总结&#xff0c;2024年1-4 月被统计到的大模型相关中标金额已经达到2023年全部中标项目披露金额的77%左右&#xff1b;其中&#xff0c;从项目数量来看&#xff0c;应用类占63%、算力类占21%、大模型类占13%、…

OpenCV 入门(六) —— Android 下的人脸识别

OpenCV 入门系列&#xff1a; OpenCV 入门&#xff08;一&#xff09;—— OpenCV 基础 OpenCV 入门&#xff08;二&#xff09;—— 车牌定位 OpenCV 入门&#xff08;三&#xff09;—— 车牌筛选 OpenCV 入门&#xff08;四&#xff09;—— 车牌号识别 OpenCV 入门&#xf…

如何查看打包后的jar包启动方法

背景 有时候我们在引用一个jar包的时候,想查看一个jar包的结构,这时候查看启动类就比较重要,因为一些关键配置是在启动类上的,这里教大家如何查看这个启动类(springboot项目) 步骤 首先打开jar包预览结构,可以使用解压缩工具直接双击打开或者预览结构 打开路径 META-INF/MA…

遥感+大数据为智慧无人农场按下“倍速键”

春回大地万象“耕”新&#xff0c;在襄阳市襄州区张家集镇近2000亩小麦绿意盎然、勃勃生机。 湖北绿神农业科技有限公司的生产经理王真指着监控室的电脑屏幕&#xff0c;告诉记者在与珈和科技合作开发的农田遥感监测平台上各类农田数据一目了然&#xff0c;为实现农业智能化管理…

TriCore User Manual 笔记 1

说明 本文是 英飞凌 架构文档 TriCore TC162P core archiecture Volume 1 of 2 (infineon.com) 的笔记&#xff0c;稍作整理方便查阅&#xff0c;错误之处&#xff0c;还请指正&#xff0c;谢谢 :) 1. Architecture 2. General Purpose & System Register 名词列表&#…

记录一个RSA加密js逆向

network调试就不说了吧 pwd加密参数 搜索pwd参数定位逆向 可以看到有很多关键词 但是我们细心的朋友会发现加密函数关键字 encrypte 打上断点 调试 发现在断点处停止了 并且框选函数发现了一串加密值 虽然不一样但是大概率是这个 并且没你每次放置移开都会刷新 所以如果这个就是…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-14-主频和时钟配置

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

2024上半年软考新规,对高级论文科目不太友好

辽宁省发布了《关于2024年上半年计算机技术与软件专业技术资格(水平)考试批次安排的通知》&#xff0c;通知原文如下&#xff1a; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 1.…

群晖上部署农场管理系统farmOS

什么是 farmOS &#xff1f; farmOS 是一个基于 Web 的应用程序&#xff0c;用于农场管理、规划和记录保存。它由志愿者社区开发&#xff0c;旨在为农民、开发人员和研究人员提供一个标准平台。 需要注意的是&#xff0c;群晖内核版本太低会遇到下面的错误&#xff0c;这个 AH0…

k8s集群部署

部署k8s集群 要求&#xff1a; 主机192.168.199.149&#xff08;master&#xff09;node节点&#xff08;192.168.199.150,192.168.199.151&#xff09;2个cpu或更多 所有机器可以联网&#xff0c;湖湘之间可以ping同&#xff0c;关闭防火墙&#xff0c;selinux&#xff0c;…

Python——Numpy基础分析(1)

一、数据集 1.数据说明 fixed acidity 固定酸度 volatile acidity 挥发性酸度 pH 酸碱值 alcohol 酒精度数 quality 品质得分 2.部分数据展示 图 1-1部分数据展示 若需要全部数据&#xff0c;请私信作者&#xff0c;谢谢 二、导入数据——使用genfromtxt函数来读取文件…

Tansformer原理解读

什么是注意力机制 生物学中的注意力机制是指人类或动物能够选择性地将感知和认知资源集中到某些信息或任务上的能力。这种能力允许我们在众多信息的背景中过滤出重要的信息&#xff0c;并将这些信息传递给相应的神经元进行处理。 本质&#xff1a;能从中抓住重点&#xff0c;…

Fastgpt知识库接入oneapi和自定义大模型

本期教程教大家训练自己的知识库回答chatgpt回答不了的问题 FastGPT 是一个知识库问答系统,可以通过调用大模型和知识库回答特定的问题 可以做成专属 AI 客服集成到现有的APP或者网站内当作智能客服支持网络爬虫学习互联网上的很多知识可以通过flow可视化进行工作流程编排 本期…

Dask简介

目录 一、概述 二、编程模型 2.1 High-Level Collection 2.2 Low level Interface 三、调度框架 3.1 任务图 3.2 调度 3.3 优化 3.4 动态任务图 一、概述 Dask是一个灵活的Python并行计算库。 Dask由两部分组成&#xff1a; 为计算优化的动态任务调度&#xff1a;和A…