C# OleDb读取Excel异常:外部表不是预期的格式 解决方案

【C#】使用OleDb读取Excel出现“外部表不是预期的格式。” 在C#使用OleDb读取Excel表格数据时,出现外部表不是预期的格式这个提示 这个问题就很奇怪,打开表格执行程序就正常,不打开表格执行就报错,搜索了一下解决办法,总过差不多有以下几种解决办法。 代码如下: private void bind(string fileName) { string strConn = "Provider=Microsoft... 阅读详情

环境:win7+iis7+Office2007

在asp.net网站中导出Excel文件后,再把文件导入到数据库中。 读取Excel文件时,打开连接出错。

错误为:外部表不是预期的格式

解决:检查了一下,导出的Excel是标准文件不是html,没错,Excel文件正常。

调试代码,创建连接对象oleDbConnection也正常,但在conn.Open()打开链接时出错。

仔细看了下链接字符串,检查出了错误,Excel版本问题,Exce连接字符串版本是office2003的 ,更改为Excel2007版本则正常导入。

总结规则如下:

 

using System.Data.OleDb;
using System.Data;

 public void ReadExcelFiless()
        {
            //string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + Server.MapPath("ExcelFiles/MyExcelFile.xls") + ";Extended Properties='Excel 8.0; HDR=Yes; IMEX=1'"; //此连接只能操作Excel2007之前(.xls)文件
            string strConn = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source=" + Server.MapPath("ExcelFiles/Mydata2007.xlsx") + ";Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'"; //此连接可以操作.xls与.xlsx文件 (支持Excel2003 和 Excel2007 的连接字符串)
//备注: "HDR=yes;"是说Excel文件的第一行是列名而不是数据,"HDR=No;"正好与前面的相反。
//      "IMEX=1 "如果列中的数据类型不一致,使用"IMEX=1"可必免数据类型冲突。

            OleDbConnection conn = new OleDbConnection(strConn);
            OleDbDataAdapter adp = new OleDbDataAdapter("Select * from [Sheet1$]", conn);
            DataSet ds = new DataSet();
            adp.Fill(ds, "Book1");
            this.GridView1.DataSource = ds.Tables["Book1"].DefaultView;
            this.GridView1.DataBind();
        }

 

C# 导入EXCEL 报错外部表不是预期的格式错误指南方案 32位应用:Microsoft Access Database Engine 2010 Redistributable (32位)64位应用:Microsoft Access Database Engine 2010 Redistributable (64位)通过以上方法,您应该能够解决大多数"外部表不是预期的格式"错误,并实现可靠的Excel导入功能。Console.WriteLine("文件无法访问: " + ex.Message);Excel文件格式不匹配(如.xls文件被当作.xlsx处理) 阅读详情

相关推荐

.net 读取Excel文件

1.需求 允许用户在客户段上传Excel文件,然后服务端完成对于Excel表格的读取和处理 2.问题及解决方法 2.1首先的问题是关于文件的上传问题,方法其实有两种 2.1.1 可以利用input标签,将type改为file,通过submit来想服务器上传文件 //占坑 亲测后补齐 2.1.2 更为简单的方

理想国 3020

C#连接Excel提示“外部表不是预期的格式”

Office2003(Microsoft.Jet.Oledb.4.0) string strConn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'", strExcelFileName); Office2007(M

cgs的博客 3409

Agent + 监控平台:自动诊断告警根因

根因分析、智能监控、AI Agent、告警风暴、异常检测、可观测性、故障诊断在现代分布式系统中,快速定位和解决问题是维持系统稳定性的关键。传统的监控系统虽然能够生成大量告警,但往往缺乏对告警根因的自动诊断能力,导致运维团队在告警风暴中难以快速定位问题。本文深入探讨了将AI Agent技术与监控平台结合,实现告警根因自动诊断的技术架构、理论基础和实现方法。我们将从第一性原理出发,分析根因诊断问题的本质,介绍基于Agent的智能监控系统设计,并通过实际案例展示其应用价值。文章同时涵盖了从理论到实践的全链路,包括

AIGC应用创新大全的博客 304

【C#】C#使用OleDb读取Excel出现“外部表不是预期的格式。”

在C#使用OleDb读取Excel表格数据时,出现外部表不是预期的格式,这个问题也是偶现的 这个问题真的很奇怪,一开始也不知为什么,后面问题出现多了,总结出来,是因为在读取表格数据时需要打开Excel表格,试了很多次都是这样,没有打开表格时就出错,打开表格就正常 代码如下: /// <summary> /// 读取excel返回DataTable /// </summar...

GreAmbWang的博客 6818

CST新手必看:共面波导色散曲线绘制全流程(附参数设置详解)

本文为CST新手提供了绘制共面波导色散曲线的完整流程与参数设置详解。从模型搭建、周期性边界条件设置,到本征模求解器配置和参数扫描技巧,逐步解析关键步骤,并分享后处理与结果验证方法,帮助用户高效完成仿真任务。

j0k1l2m3n的博客 423

基于阻抗控制的工业机器人轨迹跟踪系统 Simulink/Simscape 仿真

  本文是对文献 [1] 的复现。 关于阻抗控制   阻抗控制的提出可以追溯到 1984 年,Neville Hogan 在 American Control Conference 发表的 Impedance Control:An Approach to Manipulation ,次年,Hogan N. 又在 Journal of Dynamic Systems Measurement and Control-transactions of The Asme 发表了阻抗控制经典三部曲 —— Imped.

-贝塔- 的博客 2万+

C# conn.open() 外部表不是预期的格式( 读取EXCEL文件出错)

C# conn.open() 外部表不是预期的格式( 读取EXCEL文件出错) 环境:win7+iis7+Office2007  在asp.net网站中导出Excel文件后,再把文件导入到数据库中。 读取Excel文件时,打开连接出错。 错误为:外部表不是预期的格式 解决:检查了一下,导出的Excel是标准文件不是html,没错,Excel文件正常。    调试代码,创建连接对象ol

有塔耶奥多的专栏 1788

深入了解 CPU 的型号、代际架构与微架构!

深入了解 CPU 的型号、代际架构与微架构!

欢迎朋友,我是一名十多年开发经验的新手,希望多多指教。 3196

oledb 读取html导出的excel,C#使用OleDb读取导出的文件Excel(始终获取异常外部表不是预期的格式)...

我正在尝试使用Oledb从我的网络上读取导出的文件,但总是在代码 OleDbConnection.open() 上获得“ External table is table is not in the expected format ” . 但是当我尝试将该excel上的值复制到新的excel时,我的代码正在使用新的代码 . 它奇怪吧?我必须将值移动到新的excel中才能读取它这是我的导出excel的...

weixin_29137599的博客 417

自动驾驶传感器选型实战:摄像头、激光雷达与毫米波雷达融合策略

自动驾驶感知系统的核心在于多传感器协同,而非单一技术优劣。摄像头擅长语义识别但受光照和天气制约;激光雷达提供高精度测距却面临成本、温漂与多径干扰等物理瓶颈;毫米波雷达则以全天候鲁棒性与精准测速成为安全底线的守门人。三者融合不是简单叠加,而是基于场景约束(如暴雨、强光、高速跟车)、成本边界(BOM控制)与时间窗口(量产节奏)的工程权衡。真实量产方案中,‘纯视觉’实为视觉主责+毫米波兜底,‘激光雷达上车’本质是用硬件真值加速算法迭代,而传统车企更倾向以毫米波为仲裁者协调冲突。理解这些底层原理,才能在传感器选型、

weixin_32495691的博客 276

【从零开始入门unity游戏开发之——C#篇01】理论开篇,理解什么是编程

理论开篇,理解什么是编程

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3113

System.Data.OleDb.OleDbException: 外部表不是预期的格式

System.Data.OleDb.OleDbException: 外部表不是预期的格式 IMEX=1

4407

【论文汇总】Diffusion Models视频生成/视频编辑/可控视频生成/跨模态视频生成

本文总结了Diffusion Models视频生成领域相关的工作,目前共收录142篇,持续更新中。

沉迷单车的追风少年 1673

C# oleDb方法读取Excel文件

//根据excle的路径把第一个sheel中的内容放入datatable,并输出json格式的数据 public string getJsonFromExcel(string path)//excel存放的路径 { try { //连接字符串 stri...

wangchaohpu的博客 814

ZYNQ PS-PL数据交互方式总结

一,中断 二,IO方式:MIO EMIO GPIO 三,BRAM或FIFO或EMIF (1)通过BRAM实现PL/PS之间交互 PS 的配置如下图所示。使能 M_AXI_GP0 口,将 FCLK_CLK0 设为 100MHz,使能 PL 至 PS 的中断。 AXI BRAM Controller IP 核连接 PS 的 M_AXI_GP0 口和 BRAM,完成 AXI 接口至 BRAM 接口的转换。 添加BRAM,将BRAM设置为双口RAM,将PORTA与AXI B...

wangjie36的博客 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C#导入excel文件,捕捉到的异常为“外部表不是预期的格式。”

**问题:**由于多个excel表中,所用数据的单元格中英状态下混用,导致某些应有的结果得不到。故此,我全部替换excel中的括号使其统一,在保存时,提示“某些单元格具有交迭的条件格式区域。早期版本的excel将无法评估交迭单元格上的。。。”内容,如图所示。然鹅,我并没考虑这么多,生硬保存。再次导入,出现异常。 原因: 在早期版本的 Excel 中,并非所有新功能都受支持。当你在兼容性模式下工作或希望将工作簿保存为 Excel 97-2003 (.xls) 文件格式时,兼容性检查器可帮助你识别可能会在早期

qq_40467670的博客 2725

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C#实现excel文件的读取、写入以及异常处理,附源码程序

C#实现excel文件的读取、写入以及异常处理,附源码程序

曾经也曾立志 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C#:使用OleDb从Excel表格中读取信息到DataTable

从Excel表格中将数据读入到DataTable数据类型中,我是通过使用OLEDB来实现的 (OLEDB是Object Linking and Embedding Database的缩写) 现有一个扩展名为xlsx的工作簿文件“节气表.xlsx”,在工作表Sheet1中有24个节气的信息 ...

413

Microsoft.Ace.OleDb.12.0 操作excel

在用c#操作excel的时候,碰到了一下的问题:   1.Microsoft.Ace.OleDb.12.0未安装,可以到下载2007 Office system 驱动程序AccessDatabaseEngine2007_CHS.zip:      数据连接组件安装      http://download.microsoft.com/download/7/0/3/703ffbcb-d

山鹰的专栏 8511

c#用OleDb这种方式导入excel并转换为datatable

c#导入excel

且行且珍惜 2073

C# Excel CSV DataTable DataSet 相关代码及资料整理

C# 在操作Excel之前,需要添加引用。

禾木 1139

VS C# WinForm对于EXCEL表的操作

VS C# WinForm,如果实现对于EXCEL表的操作: ① 从无到有创建EXCEL表 ② 如果已经有EXCEL表,根据文件名打开EXCEL ③ 往空白的已经存在的EXCEL表中写入数据 ④ 往空白的新建的EXCEL表中写入数据 ⑤ 对Open的EXCEL新建工作簿 ⑥ 对Open的EXCEL插入列 ⑦ 对Open的EXCEL插入行 因为做项目的时候很多软件都需要具备把数据不仅备

the growth of Nick 3137
上一篇: C# Excel导入的几种方法
下一篇: C# OleDb读取Excel异常:找不到可安装的ISAM
韩慧兵
博客等级 码龄15年 170粉丝 171原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值