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

C#读取xls文件时触发“external table is not in the expected format excel”错误

解决“external table is not in the expected format” Excel连接错误

这个问题我碰到过好多次了,根源其实很简单——你用了适配*.xlsx文件的连接字符串去读取*.xls格式的文件,ACE驱动自然没法正确识别表格格式,所以抛出了这个错误。

给你两个关键的解决步骤:

  • 修正连接字符串的格式参数
    针对旧版的*.xls二进制格式文件,需要把连接字符串里的Extended Properties=Excel 12.0;替换成Extended Properties=Excel 8.0;。修改后的完整代码应该是:

    excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileLocation + ";Extended Properties=Excel 8.0;";
    

    放心,ACE.OLEDB.12.0驱动是兼容新旧两种Excel格式的,只要这个参数设置正确就行。

  • 额外排查点

    • 先确认你的xls文件是真的旧版格式:别是把xlsx文件改了后缀名伪装成xls的,这种情况很容易踩坑。可以用Excel打开文件,看看“另存为”里显示的格式是不是“Excel 97-2003 工作簿(*.xls)”。
    • 检查系统和驱动的位数匹配:如果你的应用是64位的,必须安装64位的ACE驱动;如果是32位应用,就装32位驱动,位数不匹配也会触发类似的格式错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:07:46