C# 怎么导出dataGridView中的值到Excel

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在系统应用过程中,数据是系统的核心。如果直接在应用软件中看数据,有时也有些不便,所以就会把系统数据转换成Excel格式,便于处理。下面小编将在VS2010中将dataGridView导出为Excel中。

工具/原料

 
  • 电脑 VS2010

方法/步骤

 
  1.  

    添加Office Excel引用,在.net下面。

  2.  

    程序代码引用:using Excel = Microsoft.Office.Interop.Excel;

  3.  

    添加事件控件“导出Excel”

  4.  

    双击“导出Excel”空间添加代码:

    private void button2_Click(object sender, EventArgs e)

    {

    string fileName = "";

    string saveFileName = "";

    SaveFileDialog saveDialog = new SaveFileDialog();

    saveDialog.DefaultExt = "xls";

    saveDialog.Filter = "Excel文件|*.xls";

    saveDialog.FileName = fileName;

    saveDialog.ShowDialog();

    saveFileName = saveDialog.FileName;

    if (saveFileName.IndexOf(":") < 0) return; //被点了取消

    Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();

    if (xlApp == null)

    {

    MessageBox.Show("无法创建Excel对象,您的电脑可能未安装Excel");

    return;

    }

    Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;

    Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);

    Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1

    //写入标题

    for (int i = 0; i < dataGridView1.ColumnCount; i++)

    {worksheet.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;}

    //写入数值

    for (int r = 0; r < dataGridView1.Rows.Count; r++)

    { for (int i = 0; i < dataGridView1.ColumnCount; i++)

    {

    worksheet.Cells[r + 2, i + 1] = dataGridView1.Rows[r].Cells[i].Value;

    }

    System.Windows.Forms.Application.DoEvents();

    }

    worksheet.Columns.EntireColumn.AutoFit();//列宽自适应

    MessageBox.Show(fileName + "资料保存成功", "提示", MessageBoxButtons.OK);

    if (saveFileName != "")

    {

    try

    {workbook.Saved = true;

    workbook.SaveCopyAs(saveFileName);  //fileSaved = true;

    }

    catch (Exception ex)

    {//fileSaved = false;

    MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);

    }

    }

    xlApp.Quit();

    GC.Collect();//强行销毁           }

    }

  5.  

    重新生成“解决方案”后测试。

  6.  

    通过以上,成功的将datagridview中的值导出到excel中了。

C# 导出dataGridView中的值到Excel的更多相关文章

  1. C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel

    其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...

  2. 导出网页中的table到excel

    导出网页中的table到excel的两种简便方法: 1. 纯 JavaScript 方法,缺点只支持IE浏览器 var elTable = document.getElementById(" ...

  3. javscript 导出html中的table到excel

    <script language="JavaScript" type="text/javascript"> /* * 默认转换实现函数,如果需要其他 ...

  4. ASP.NET 导出gridview中的数据到Excel表中,并对指定单元格换行操作

    1. 使用NPOI读取及生成excel表. (1)导出Click事件: 获取DataTable; 给文件加文件名: string xlsxName = "xxx_" + DateT ...

  5. c#导出ListView中的数据到Excel表格

    1.添加组件:Microsoft.Office.Interop.Excel 步骤:右键点击“引用”--->添加引用--->COM--->Microsoft.Office.Intero ...

  6. JS 导出网页中Table内容到excel

    <html> <head> <script type="text/javascript" language="javascript" ...

  7. EXT中导出表格中的数据到Excel

    { itemId: 'excel', text: '导出', iconCls: 'btnExportExcel', disabled: false, handler: function () { // ...

  8. 将listBox中信息显示在dataGridview中,操作datagridview后删除listBox信息和SQL数据库信息 续(浅谈listBox..)

    应用场景      对datagridview控件使用了解,以及操作datagridview选中的信息删除,并且有二次确认后才删除用户信息.相应的删除listbox中用户信息,下面一起看看需要哪些准备 ...

  9. C#在dataGridView中遍历,寻找相同的数据并定位

      1. C#在dataGridView中遍历,寻找相同的数据并定位   [c-sharp] view plain copy int row = dataGridView1.Rows.Count;// ...

随机推荐

  1. Python全栈之路----函数进阶----迭代器

    我们已经知道,可以直接作用于 for 循环的数据类型有以下几种: 一类是集合数据类型,如 list , tuple , dict , set ,str 等: 一类是 generator ,包括生成器和 ...

  2. 国内优秀MVC开源框架jfinal简介

    JFinal简介 JFinal 项目开发始于2011年初,作者詹波(James Zhan)曾任搜格信息技术有限公司Java架构师,北京信息管理科学研究所CTO,现任微格网际(北京)科技有限公司联合创始 ...

  3. imp导入时 出现IMP-00017:由于 ORACLE 错误 6550, 以下语句失败: 解决方法

    cmd命令下--执行imp命令时,出现IMP-00017:由于 ORACLE 错误 6550, 以下语句失败: 解决办法:在imp命令里加入 statistics=none (不导入数据库统计信息) ...

  4. 查询正在运行的请求及其后台对应SQL

    SELECT a.event , s.actual_start_date , a.sid, a.serial#, sa.sql_fulltext , sa.sql_text , v.user_conc ...

  5. nginx里proxy_pass有无/的区别

    nginx在反向代理的时候,proxy_pass需要指定路径,有无"/"的区别,如下:   location /lile { 配置一: proxy_pass http://192. ...

  6. div遮盖,弹出层

    <html>     <head>     <title>LIGHTBOX EXAMPLE</title>     <meta charset=& ...

  7. 关于STL容器

    容器: 概念:如果把数据看做物体,容器就是放置这些物体的器物,因为其内部结构不同,数据摆放的方式不同,取用的方式也不同,我们把他们抽象成不同的模板类,使用时去实例化它 分类: 序列容器.关联容器.容器 ...

  8. VS2012 安装 NPOI (管理NuGet程序包)

    问题背景 选择项目后右键==>管理NuGet程序包,搜索NPOI,返回服务器无法找到...404 解决方法: 第一步: 访问:https://www.nuget.org/api/v2/      ...

  9. python开发计算器

    1 业务需求 1.1 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16- ...

  10. Program type already present: android.support.v4.widget.EdgeEffectCompat

    1.确保所有依赖包的 implementation 'com.android.support:appcompat-v7:25.4.0'是一样的 2.确保最外层的build.gradle中增加如下代码: ...