`
net_liu
  • 浏览: 231331 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

将DataGridView 数据导出到Excel

阅读更多
        /// <summary>
        /// 将DataGridView 数据导出到Excel(当页)
        /// </summary>
        /// <param name="dataGridView1"></param>
        public void print(DataGridView dataGridView1)
        {
            //导出到execl   
            try
            {
                //没有数据的话就不往下执行   
                if (dataGridView1.Rows.Count == 0)
                    return;
                //实例化一个Excel.Application对象   
                Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();

                //让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写   
                excel.Visible = false;

                //新增加一个工作簿,Workbook是直接保存,不会弹出保存对话框,加上Application会弹出保存对话框,值为false会报错   
                excel.Application.Workbooks.Add(true);
                //生成Excel中列头名称   
                for (int i = 0; i < dataGridView1.Columns.Count; i++)
                {
                    excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;
                }
                //把DataGridView当前页的数据保存在Excel中   
                for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
                {
                    for (int j = 0; j < dataGridView1.Columns.Count; j++)
                    {
                        if (dataGridView1[j, i].ValueType == typeof(string))
                        {
                            excel.Cells[i + 2, j + 1] = "'" + dataGridView1[j, i].Value.ToString();
                        }
                        else
                        {
                            excel.Cells[i + 2, j + 1] = dataGridView1[j, i].Value.ToString();
                        }
                    }
                }

                //设置禁止弹出保存和覆盖的询问提示框   
                excel.DisplayAlerts = false;
                excel.AlertBeforeOverwriting = false;

                //保存工作簿   
                excel.Application.Workbooks.Add(true).Save();
                //保存excel文件   
                excel.Save("D:" + "\\KKHMD.xls");

                //确保Excel进程关闭   
                excel.Quit();
                excel = null;

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误提示");
            }
        }

        /// <summary>
        ///  将DataGridView 数据导出到Excel(所有)
        /// </summary>
        /// <param name="dt"></param>
        public void printAll(DataTable dt)
        {
            //导出到execl   
            try
            {
                //没有数据的话就不往下执行   
                if (dt.Rows.Count == 0)
                    return;
                //实例化一个Excel.Application对象   
                Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();

                //新增加一个工作簿,Workbook是直接保存,不会弹出保存对话框,加上Application会弹出保存对话框,值为false会报错   
                excel.Application.Workbooks.Add(true);

                //让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写   
                excel.Visible = false;
                //生成Excel中列头名称   
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;//输出DataGridView列头名   
                }

                //把DataGridView当前页的数据保存在Excel中   
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)//控制Excel中行,上下的距离,就是可以到Excel最下的行数,比数据长了报错,比数据短了会显示不完   
                    {
                        for (int j = 0; j < dt.Columns.Count; j++)//控制Excel中列,左右的距离,就是可以到Excel最右的列数,比数据长了报错,比数据短了会显示不完   
                        {
                            string str = dt.Rows[i][j].ToString();
                            excel.Cells[i + 2, j + 1] = "'" + str;//i控制行,从Excel中第2行开始输出第一行数据,j控制列,从Excel中第1列输出第1列数据,"'" +是以string形式保存,所以遇到数字不会转成16进制   
                        }
                    }
                }
                //设置禁止弹出保存和覆盖的询问提示框   
                excel.DisplayAlerts = false;
                excel.AlertBeforeOverwriting = false;

                //保存工作簿,值为false会报错   
                excel.Application.Workbooks.Add(true).Save();
                //保存excel文件   
                excel.Save("D:" + "\\KKHMD.xls");

                //确保Excel进程关闭   
                excel.Quit();
                excel = null;

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "错误提示");
            }
        }  

 

分享到:
评论

相关推荐

    C#Winform将DataGridView数据导出到Excel的两种方法

    以下是使用EPPlus将DataGridView数据导出到Excel的步骤: 1. **安装EPPlus**:首先,需要通过NuGet包管理器安装EPPlus。在Visual Studio中打开项目,右键点击“管理NuGet程序包”,搜索EPPlus,然后安装。 2. **...

    C#下成功登录后datagridview数据导出excel

    在这个场景中,"C#下成功登录后datagridview数据导出excel"的标题描述了一个常见的需求:用户通过登录窗口验证身份后,能够将数据显示在datagridview控件中,并且支持将这些数据导出到Excel文件中。这一过程涵盖了多...

    c# winform datagridview数据导出到Excel中

    4. 将DataGridView数据导出到Excel: 遍历DataGridView中的行和列,将数据填充到Excel工作表中: ```csharp for (int rowIndex = 0; rowIndex &lt; dataGridView.Rows.Count; rowIndex++) { for (int colIndex = 0...

    WinForm 把dataGridView中的数据导出到Excel

    以上就是WinForm应用程序将dataGridView数据导出到Excel的基本过程。这个过程同样适用于其他版本的Visual Studio,只需要确保引用的Office Interop库与目标Excel版本匹配。通过理解这些概念和步骤,你可以根据自己的...

    C#将Datagridview中的数据导出到Excel表格实例

    下面详细介绍如何实现DataGridView数据导出至Excel的具体步骤及代码解释。 1. **导入必要的命名空间**: ```csharp using System; using System.Windows.Forms; using Microsoft.Office.Interop.Excel; ``` 2...

    DataGridView拷贝数据到Excel

    这就是如何利用C#和`Microsoft.Office.Interop.Excel`将DataGridView数据导出到Excel的基本流程。尽管这里没有提供完整的代码,但这些步骤应该足以指导你完成任务。如果提供的资料中有具体的代码示例,可以参考其...

    C#从datagridview导出数据到excel表.txt

    C# 从datagridview导出数据到excel表。注:没有使用npoi,直接导出excel数据。导出的数据不包含图片。

    c# winform DataGridView导出数据到Excel中

    在C# Winform开发中,经常需要将DataGridView中的数据导出到Excel文件中,以便于用户进行进一步的数据处理或存档。根据提供的代码示例,我们可以将其分为两个主要部分:当前页数据的导出与全部数据的导出。 #### 二...

    DataGridView 添加图片 导出 excel 插入图片

    以上代码展示了如何在`DataGridView`中添加图片以及将包含图片的数据导出到`Excel`。请注意,`c++11`标签在此场景中可能不适用,因为上述代码是C#实现。在实际开发中,根据项目需求,你可能还需要考虑错误处理、性能...

    将DATAGRIDVIEW内容导出到EXCEL

    而将`DataGridView`的内容导出到Excel,则是用户需求中的常见场景。下面我们将详细探讨如何实现这个功能。 首先,我们需要了解`DataGridView`的基本操作。`DataGridView`控件允许我们动态创建表格,绑定数据源(如...

    datagridview导入导出excel

    2. DataGridView数据导出到Excel: - 创建新的Excel工作簿:Jerry_Soft.dll可能有一个创建新Excel文件的方法(如`Jerry_Soft.Excel.CreateWorkbook`)。 - 写入数据:遍历DataGridView中的行和列,将每个单元格的...

    C# DataGridView中数据导出到Excel

    本文将深入探讨如何使用C#将DataGridView中的数据导出到Excel文件,以及提供一个详细的实例源码分析。 首先,导出数据到Excel主要涉及两个步骤:创建Excel工作簿并填充数据。在C#中,我们可以使用Microsoft.Office....

    Datagridview或Dataset数据导出到excel

    2. **Datagridview数据导出到Excel** 当Datagridview加载了数据后,我们可以使用以下方法将其内容导出到Excel文件: ```csharp // 创建新的Excel应用程序 Microsoft.Office.Interop.Excel.Application excelApp = ...

    C# datagridview 导入导出(excel)数据

    在实际应用中,我们经常需要将DataGridView中的数据导出到Excel文件,或者从Excel文件导入数据到DataGridView。这个过程涉及到文件I/O操作、数据转换以及对Excel文件格式的理解。以下是对这一主题的详细探讨: 1. *...

    C#DataGridView多维合并表头,DataGridView多维表导出至EXCEL(源码范例)

    在本资源中,我们探讨的是如何处理`DataGridView`的多维表头以及如何将多维表格的数据导出到Excel文件中。这个过程涉及到几个关键的知识点,包括`DataGridView`的自定义渲染、多级表头的实现以及数据导出的逻辑。 ...

    C#-WinForm(2种dataGridView导出Excel)批量导出,高效率,36列万行,15秒

    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("dataGridView数据"); // 将dataGridView数据写入工作表 int cellIndex = 1; foreach (DataGridViewColumn column in dataGridView.Columns)...

    C# dataGridView打印控件,可以打印dataGridView中的数据,同时可以把dataGridView数据导出到EXCEL中(源码)

    本项目主要关注两个核心功能:一是如何使用C#实现dataGridView的打印功能,二是如何将dataGridView中的数据导出到Excel文件。 首先,让我们深入了解一下`dataGridView`的打印功能。在Windows Forms应用中,`...

    c#从datagridview中把数据导出到Excel中

    在C# WinForm应用开发中,常常需要将数据显示在DataGridView控件中,并且有需求将这些数据导出到Excel文件中,以便用户可以进行编辑、保存或者分享。本篇文章将详细讲解如何实现这一功能。 首先,你需要确保项目...

    datagridview 自动导出excel

    以上就是使用Aspose.Cells将DataGridView数据导出到Excel的基本流程。这个过程快速且高效,因为Aspose.Cells是直接操作Excel文件格式,不需要通过Office接口,所以不受系统是否安装Office的影响。 在项目中,你可能...

    C#中DATAGRIDVIEW导出到EXCEL(极速)

    C#中DATAGRIDVIEW快速导出到EXCEL(极速),直接引用DLL即可。

Global site tag (gtag.js) - Google Analytics