C#将DataGridView中的数据导出为EXCEL

来源:互联网 发布:如何把mac照片导入u盘 编辑:程序博客网 时间:2024/05/02 08:47

        首先,要添加Excel的引用,在项目里面“添加引用”,根据系统环境的不同,有些是添加Microsoft.Office.Interop.Excel 有些是添加microsoft excel 11 object library(适合office2003环境),然后引用里面就有microsoft.office.core和excel了。

       以下摘自网上的一个有用的函数:

 

        #region 将DataGridView控件中数据导出到Excel
        
/// <summary>
        
/// 将DataGridView控件中数据导出到Excel
        
/// </summary>
        
/// <param name="gridView">DataGridView对象</param>
        
/// <param name="isShowExcle">是否显示Excel界面</param>
        
/// <returns></returns>
        public bool ExportDataGridview(DataGridView gridView,bool isShowExcle)
        {
            
if (gridView.Rows.Count == 0)
                
return false;
            
//建立Excel对象
            Excel.Application excel = new Excel.Application();
            excel.Application.Workbooks.Add(
true);
            excel.Visible 
= isShowExcle;
            
//生成字段名称
            for (int i = 0; i < gridView.ColumnCount; i++)
            {
                excel.Cells[
1, i + 1= gridView.Columns[i].HeaderText;
            }
            
//填充数据
            for (int i = 0; i < gridView.RowCount-1; i++)
            {
                
for (int j = 0; j < gridView.ColumnCount; j++)
                {
                    
if (gridView[j, i].ValueType == typeof(string))
                    {
                        excel.Cells[i 
+ 2, j + 1= "'" + gridView[j, i].Value.ToString();
                    }
                    
else
                    {
                        excel.Cells[i 
+ 2, j + 1= gridView[j, i].Value.ToString();
                    }
                }
            }
            
return true;
        }
        #endregion
 

添加引用Microsoft Office Excel:

using Excel = Microsoft.Office.Interop.Excel;

调用:

 

 if (!oper.ExportDataGridview(dgvEquiment, true))
                MessageBox.Show(
"表格中没有数据,无法导出数据!""系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

很好,很强大!

原创粉丝点击