You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# 从数据库导出数据到Excel时返回十六进制错误0x800AC472

C# 使用 Interop 导出Excel单列数据时报错 0x800AC472

我正在从数据库读取List集合,仅需要将其中1列数据导出到Excel工作表中,但try catch捕获到十六进制错误0x800AC472,相关代码如下:

try
{
    var path = @"C:\Users\Desktop\Data.xlsx";
    var listOfUsers = _context.Users.ToList();

    int row = 2;
    Microsoft.Office.Interop.Excel.Application excel;
    Microsoft.Office.Interop.Excel.Workbook excelworkBook;
    Microsoft.Office.Interop.Excel.Worksheet excelSheet;
    Microsoft.Office.Interop.Excel.Range excelCellrange;

    excel = new Microsoft.Office.Interop.Excel.Application();
    excel.Visible = false;
    excel.Interactive = false;
    excel.DisplayAlerts = false;
    excelworkBook = excel.Workbooks.Add(Type.Missing);

    excelSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelworkBook.ActiveSheet;
    excelSheet.Name = "Test work sheet";
    excelCellrange = excelSheet.Range[excelSheet.Cells[1, 1], excelSheet.Cells[listOfUsers.Count, 1]];
    excelCellrange.EntireColumn.AutoFit();

    excelSheet.Cells[1, 1] = "Phone Number";

    foreach (var user in listOfUsers)
    {
        excelSheet.Cells[row, 1] = user.PhoneNumber;
        row++;
    }

    excelSheet.SaveAs(path);

    return Ok();

}
catch (Exception ex)
{
    return BadRequest(ex.Message);
}

问题更新

最终排查发现问题根源是MS Office许可证已过期,修复许可证后所有功能运行正常。


内容的提问来源于stack exchange,提问作者nour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 03:24:04