当前位置: 首页 > news >正文

C#中导出dataGridView数据为Excel

C#中导出dataGridView数据为Excel

#region 导出Excel功能函数
/// <summary>
///  dataGridView 导出Excel功能函数
/// </summary>
/// <param name="dataView">dataGridView数据表</param>
/// <param name="filePath">路径</param>
private void ExportDataToExcel(DataGridView dataView, string filePath)
{try{using (StreamWriter writer = new StreamWriter(filePath, false, Encoding.UTF8)){// 写入表头for (int i = 0; i < dataView.Columns.Count; i++){writer.Write(dataView.Columns[i].HeaderText);if (i < dataView.Columns.Count - 1){writer.Write(",");}}writer.WriteLine();// 写入数据foreach (DataGridViewRow row in dataView.Rows){if (!row.IsNewRow) // 忽略新行{for (int i = 0; i < dataView.Columns.Count; i++){writer.Write(row.Cells[i].Value?.ToString());if (i < dataView.Columns.Count - 1){writer.Write(",");}}writer.WriteLine();}}}MessageBox.Show("Data exported successfully.", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);}catch (Exception ex){MessageBox.Show("Error exporting data: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);}
}#endregion

按键

     private void menuExportFile_Click(object sender, EventArgs e){using (SaveFileDialog saveFileDialog = new SaveFileDialog()){saveFileDialog.Filter = "Excel files (*.xlsx)|*.xlsx|CSV files (*.csv)|*.csv";saveFileDialog.Title = "Save as";saveFileDialog.FileName = $"{DateTime.Now:yyyyMMddHHmmss}"; // 默认文件名,以当前时间命名if (saveFileDialog.ShowDialog() == DialogResult.OK){string filePath = saveFileDialog.FileName;string fileExtension = Path.GetExtension(filePath).ToLower();if (fileExtension == ".csv"){ExportDataToExcel(dataView,filePath);}else if (fileExtension == ".xlsx"){ExportDataToExcel(dataView, filePath);}else{MessageBox.Show("Unsupported file format.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);}}}}
http://www.lryc.cn/news/410721.html

相关文章:

  • 算法学习6——贪心算法
  • 【C++】标准库:介绍string类
  • 未来不会使用 AI 的人真的会被淘汰吗?
  • K8S及Rancher部署
  • Qt Creator使用git管理代码
  • pandas教程:pandas读取csv文件并指定字段数据类型
  • c#中使用数据验证器
  • Java真人版猫爪老鼠活动报名平台系统
  • Git原理与用法系统总结
  • 连载|浅谈红队中的权限维持(六)-Linux 主机后门与Linux 隐藏文件
  • tomato-靶机渗透
  • git的配置使用
  • 【1.0】drf初识
  • SparkSQL---编程模型的操作,数据加载与落地及自定义函数的使用
  • 文件解析漏洞--IIS--Vulhub
  • 你知道缓存的这个问题到底把多少程序员坑惨了吗?
  • 飞创直线模组桁架机械手优势及应用领域
  • TongHttpServer 简介
  • 回溯法---组合总和
  • 将Android Library项目发布到JitPack仓库
  • JAVAWeb实战(后端篇)
  • 【vs】实用调试技巧——学会写优秀的代码!
  • 数组声明方式
  • Docker中Docker网络-理解Docker0与自定义网络的使用示例
  • 领域驱动大型结构之SYSTEM METAPHOR(系统隐喻)
  • web前端开发一、VScode环境搭建
  • DiAD代码use_checkpoint
  • nginx出现Refused to apply inline style because it violates
  • 【中项第三版】系统集成项目管理工程师 | 第 11 章 规划过程组⑥ | 11.15 - 11.17
  • 基础警务互联网app