首先,要添加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 ;
}
/// <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);
MessageBox.Show( " 表格中没有数据,无法导出数据! " , " 系统提示 " , MessageBoxButtons.OK, MessageBoxIcon.Information);
很好,很强大!