u013003318
黑山姬
采纳率0%
2015-07-19 09:26

C#导出excel错误,异常来自 HRESULT:0x800A03EC

用的是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;
            }

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • guwei4037 极简吧 6年前

    其实C#导出Excel早就有更好的方式了。http://blog.csdn.net/chinacsharper/article/details/12999435

    点赞 1 评论 复制链接分享
  • u013003318 黑山姬 6年前

    然而我并没有规定excel的格式啊,导入是可行的,就是导出不行

    点赞 评论 复制链接分享
  • CSDNXIAOC Robot-C 6年前

     报错语句:excel.ActiveWorkbook.SaveAs("./tt.xls", XlFileFormat.xlExcel9795, null, null, false, false, Excel.XlSaveAsAccessMode.xlNoChange, null, null, null, null, null);
    报错地方:XlFileForma......
    答案就在这里:C# 导出数据到Excel出现“异常来自 HRESULT:0x800A03EC”的错误
    ----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

    点赞 评论 复制链接分享

相关推荐