C#winform中datagridview导出Excel

只需要传入datagridview的name即可。

 1 //导出Excel()方法
 2         public void ToExcel(DataGridView dataGridView)
 3         {
 4             //实例化一个Excel.Application对象
 5             Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
 6
 7             if (excel == null)
 8             {
 9                 UMessageBoxWarning("无法创建Excel对象,可能您的计算机未安装Excel!");
10                 return;
11             }
12             try
13             {
14                 //没有数据的话就不往下执行
15                 if (dataGridView.Rows.Count == 0)
16                     return;
17
18                 //让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写
19                 excel.Visible = true;
20
21                 //新增加一个工作簿,Workbook是直接保存,不会弹出保存对话框,加上Application会弹出保存对话框,值为false会报错
22                 excel.Application.Workbooks.Add(true);
23                 //生成Excel中列头名称
24                 for (int i = 0; i < dataGridView.Columns.Count; i++)
25                 {
26                     if (dataGridView.Columns[i].Visible == true)
27                     {
28                         excel.Cells[1, i + 1] = dataGridView.Columns[i].HeaderText;
29                     }
30
31                 }
32                 //把DataGridView当前页的数据保存在Excel中
33                 for (int i = 0; i < dataGridView.Rows.Count - 1; i++)
34                 {
35                     Application.DoEvents();
36                     for (int j = 0; j < dataGridView.Columns.Count; j++)
37                     {
38                         if (dataGridView.Columns[j].Visible == true)
39                         {
40                             if (dataGridView[j, i].ValueType == typeof(string))
41                             {
42                                 excel.Cells[i + 2, j + 1] = "‘" + dataGridView[j, i].Value.ToString();
43                             }
44                             else
45                             {
46                                 excel.Cells[i + 2, j + 1] = dataGridView[j, i].Value.ToString();
47                             }
48                         }
49
50                     }
51                 }
52                 //设置禁止弹出保存和覆盖的询问提示框
53                 //...
54                 //确保Excel进程关闭
55                 excel.Quit();
56                 excel = null;
57                 GC.Collect();//如果不使用这条语句会导致excel进程无法正常退出,使用后正常退出
58                 UMessageBoxNone("文件已经成功导出!");
59             }
60             catch (Exception ex)
61             {
62                 MessageBox.Show(ex.Message);
63             }
64
65         }
时间: 2024-11-06 20:23:06

C#winform中datagridview导出Excel的相关文章

Winform将DataGridView导出Excel,调用打印机打印DataGridView

DataGridView导出Excel (这个需要 Microsoft.Office.Interop.Excel.dll  在网上下载就可以) public static void ExportExcel(string fileName, DataGridView myDGV) { string saveFileName = ""; SaveFileDialog saveDialog = new SaveFileDialog(); saveDialog.DefaultExt = &qu

C#中datatable导出excel(三种方法)

方法一:(拷贝直接可以使用,适合大批量资料, 上万笔)Microsoft.Office.Interop.Excel.Application appexcel = new Microsoft.Office.Interop.Excel.Application();SaveFileDialog savefiledialog = new SaveFileDialog();System.Reflection.Missing miss = System.Reflection.Missing.Value;ap

NPOI DataGridView导出EXCEL

NPOI 官方网站 http://npoi.codeplex.com/ 加载NPOI.DLL ,引用这两个命名空间 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; #region NPOI DataGridView 导出 EXCEL /// <summary> /// NPOI DataGridView 导出 EXCEL /// </summary> /// <param name="fileName"

从DataGridView导出Excel

从DataGridView导出Excel的两种情况,不多说,直接记录代码. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; using System.Data; namespace cnblogs { public static class LoadExcel { public sta

CefSharp中实现Chrome中jS导出Excel

[前言] 在博客园闲逛了一年多,平时都是借鉴别人的成功经验,总觉得自己应该分享点什么,但是苦于自己技术有限,平时又不爱写东西,所以一直没有写过任何东西.毕业一年多,在现实工作中遇到各种问题,深切体会到遇到问题时的焦急与纠结.今天决定写自己的第一篇现实中遇到的问题.希望能够为遇到类似问题的博友们提供一些帮助.文章可能写的不好,请勿喷!! [背景] 使用JS将<table>数据以Excel形式已经不是新鲜事情,在IE中常常使用ActiveXObject来创建Excel.application对象来

C# Winform中DataGridView的DataGridViewCheckBoxColumn使用方法

下面介绍Winform中DataGridView的DataGridViewCheckBoxColumn使用方法: DataGridViewCheckBoxColumn CheckBox是否选中 在判断DataGridView中CheckBox选中列的时候,用DataGridViewRow.Cells[0].FormattedValue.ToString()=="True"语句时存在问题,当我们直接点击CheckBox时,结果显示未选中,但是如果我们在点击其他单元格时,结果显示选中.而用

Winform DataGridView导出Excel

private void 导出excelToolStripMenuItem_Click(object sender, EventArgs e) { if (dgvData.RowCount > 0) { var saveFileDialog1 = new SaveFileDialog { Filter = @"Excel文件(*.xls,*.xlsx)|*.xls;*.xlsx", RestoreDirectory = true }; if (saveFileDialog1.Sh

DataGridView导出Excel

把DataGridView中的信息导出到Excel是<机房收费系统>的功能之一,这里主要是VS与Office的交互,方法有n多种(从这里就可以看出这个功能难不到哪里去了),现在就介绍一下我使用的一种吧,首先需要添加并引用命名空间. 1.添加:右击窗体所在的项目名即U层的项目名--添加--引用--出现下面图片,搜索Excel,在结果中选中符合版本的Microsoft.Interop.Excel 2.引用命名空间:Imports Microsoft.Office.Interop 由于多次用到了导出

Java中导入导出Excel -- POI技术

一.介绍: 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实际的开发中,很多时候需要实现导入.导出Excel的应用. 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel 下面我就分别讲解一下如何使用这两个技术实现导入.导出Excel 二.使用Jakarta POI导入.导出Excel Jakarta PO