做法是先将dataGridView中显示的部分存进DataTable。然后就DataTable导出到Excel,代码例如以下:
第一步:加入Excel引用
第二步:创建类
using System;
using System.Collections;
using System.Text;
using System.Data;
using System.Threading;
using System.Windows.Forms;
using System.Collections.Generic;
using Microsoft.Office.Core;
using Excel = Microsoft.Office.Interop.Excel;
public class ExportToExcel
{
public Excel.Application m_xlApp = null;
public void OutputAsExcelFile(DataGridView dataGridView)
{
if (dataGridView.Rows.Count <= 0)
{
MessageBox.Show("无数据!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Warning); return;
}
string filePath="";
SaveFileDialog s = new SaveFileDialog();
s.Title = "保存Excel文件";
s.Filter = "Excel文件(*.xls)|*.xls";
s.FilterIndex = 1;
if (s.ShowDialog() == DialogResult.OK)
filePath = s.FileName;
else
return;
//第一步:将dataGridView转化为dataTable,这样能够过滤掉dataGridView中的隐藏列
DataTable tmpDataTable = new DataTable("tmpDataTable");
DataT