用的是office2013和VS2013
已经引用了Microsoft.Office.Interop.Excel,所以代码看起来没有问题,执行到excel.Save("excel.xls");那一步的时候,就报错了,显示异常来自 HRESULT:0x800A03EC
public void ExportExcel(DataGridView dgv)
{
try
{
//首先判断 DataGridView里面是否有内容 没内容则弹出提示并不再执行
if (dgv.Rows.Count == 0)
{
MessageBox.Show("没数据可导出,请插入数据!");
return;
}
//首先我们需要创建一个Excel对象
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(true); //给Excel 对象 添加一个Excel Workbooks
//生成Excel的 列头名称
for (int i = 0; i < dgv.ColumnCount; i++)
{
excel.Cells[1, i + 1] = dgvManager.Columns[i].HeaderText.ToString();
}
//遍历所有行
for (int i = 0; i < dgv.RowCount - 1; i++)
{
//遍历每一行的中的所有列 从而实现所有单元格的遍历
for (int j = 0; j < dgv.ColumnCount; j++)
{
excel.Cells[i + 2, j + 1] = dgv[j, i].Value.ToString();
}
}
excel.DisplayAlerts = false;
excel.AlertBeforeOverwriting = false;
excel.Save("excel.xls");
MessageBox.Show("导出Excel成功!");
excel.Quit();//关闭Excel进程
excel = null;
}