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

C#使用DocumentFormat.OpenXml生成Excel打开报格式扩展名不匹配问题求助

问题根因

核心错误为文件扩展名拼写错误:你代码中将Excel的标准扩展名.xlsx误写为.xslx,字母s和l顺序颠倒,导致系统无法正确识别文件格式,触发「文件格式与扩展名不匹配」报错。

修复步骤
  1. 修正文件名的扩展名拼写,将原代码行:
string fileFullname = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Content\\MyDocument", "MyExcel.xslx");

修改为:

string fileFullname = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Content\\MyDocument", "MyExcel.xlsx");
  1. 补充优化建议(避免后续出现同类损坏问题):
  • 工作表填充完成后,建议先调用workbookpart.Workbook.Save()再执行spreadsheetDocument.Close(),确保所有内容完整写入文件
  • 生成的Excel文件至少要包含1个有效工作表,不能存在空的Sheets集合
  • 不要随意修改生成后的文件后缀,保持和SpreadsheetDocumentType的类型匹配
验证效果

修改后重新生成文件,系统会自动识别文件类型为Microsoft Excel Worksheet,打开时不会再弹出报错提示。


内容的提问来源于stack exchange,提问作者The Inquisitive Coder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:54:03