C# conn.open() 外部表不是预期的格式

【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();
        }

 

 

 

即:

//2003(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;'", excelFilePath);

//2010(Microsoft.ACE.OLEDB.12.0)
string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;'", excelFilePath);

 

C# 读取Excel时报错:外部表不是预期的格式。 最近写了读取下载后的Excel数据,遇到一点小问题,查阅了一些资料,进行了一些修改,分享给大家,因为用的是自动化测试的工具写的,所以有些不是C#的代码,自己看吧://///////////////////////////////////////////////////////////////////////////////// This file was automatically generat... 阅读详情

相关推荐

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处理)

2501_91207543的博客 1685

C#读取excel文件,报“外部表不是预期的格式”的解决办法

C#读取excel文件,报“外部表不是预期的格式”的解决办法

question00的专栏 2万+

Godot C#工程化开发:Nuget包管理与项目模板搭建实战

在游戏开发中,依赖管理和项目结构规范化是提升工程效率和代码质量的基础。通过引入成熟的包管理机制,开发者可以便捷地集成日志、数据库、数学计算等通用功能库,避免重复造轮子,并确保依赖版本的一致性。其技术价值在于构建可维护、可协作的代码基座,为长期项目迭代奠定基础。这一实践在需要结构化日志记录、本地数据存储或复杂随机数生成的游戏项目中尤为关键。本文以Godot引擎的C#开发为例,详细阐述了如何利用Nuget生态集成Serilog、Dapper等热词库,并创建可复用的项目模板,从而将Godot C#项目升级为具备工

weixin_34021089的博客 430

C#读取excel文件时,报“外部表不是预期的格式”

最后发现我的excel文件的格式不是标准的Excel格式,能用记事本打开并且不是乱码,所以网上通用的读取Excel文件的办法都不行,例如:OleDB,NOPI,但是文件单独另存为.xls,.xlsx文件后用这些方法可以读取。最后解决:将文件复制到一个临时文件夹,更改文件后缀名为txt,用读txt的办法去读取这个excel文件。我是txt读取到DataTable里面,这个网上就有很多办法了。按照链接里博主的代码“xml转换为excel标准格式”失败。萌新,这个问题卡了好久,记录一下。

chaos_1176的博客 2206

Unity机械臂实时驱动:C#脚本实现数据同步与可视化

在机器人仿真与数字孪生领域,实时数据驱动三维模型运动是核心技术之一。其原理在于通过通信协议(如TCP/UDP、串口)接收外部数据源(如ROS系统、嵌入式控制器)的关节状态信息,解析后映射到虚拟模型的对应关节上。这项技术的核心价值在于实现控制逻辑与可视化表现的解耦,提升算法验证、远程监控和操作培训的效率。应用场景广泛覆盖工业自动化、机器人教学和系统演示等领域。本文以Unity引擎和C#脚本为例,详细讲解如何构建一个轻量级通信解析层,通过多线程数据接收和主线程插值更新,高效实现机械臂模型的实时同步驱动,并探讨了

weixin_33924312的博客 291

别再用压缩软件硬解了!手把手教你用RDB工具提取QQ影音皮肤和聊天记录

本文详细介绍了如何使用RDB工具逆向提取QQ影音皮肤和聊天记录中的资源,避免传统压缩软件导致的文件损坏问题。通过解析QQ生态的私有打包格式,提供从基础解包到高级逆向分析的完整解决方案,帮助用户高效获取隐藏资源。

weixin_30520015的博客 338

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

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

有塔耶奥多的专栏 1788

AI辅助编程实战:Python实现微信聊天记录本地导出工具

在数据处理与自动化领域,Python因其丰富的库生态和简洁语法,成为处理本地文件、解析数据结构的首选语言。其核心原理在于通过标准库(如sqlite3)访问本地数据库,结合pandas进行数据清洗与分析,实现信息的结构化提取。这项技术的价值在于能够将散落在封闭应用内的用户数据,转化为通用、可分析的格式,从而解决数据备份、迁移与分析的实际痛点。典型的应用场景包括个人数字资产归档、跨平台数据迁移以及基于聊天记录的信息检索与知识管理。本文以微信聊天记录导出为例,展示了如何利用AI编程工具(如Cursor)辅助开发,

weixin_33713707的博客 475

DBF文件格式解析与C#实战:从二进制结构到数据迁移

在数据处理与迁移场景中,二进制文件解析是一项基础且关键的技能。理解文件格式的底层原理,如字节序、字段描述与数据存储方式,是进行数据提取与转换的前提。掌握二进制解析技术,能够帮助开发者处理遗留系统数据、实现跨平台数据交换,尤其在历史数据迁移、财务系统升级等场景中具有重要价值。本文以经典的DBF文件格式为例,深入剖析其文件头结构、字段描述区与数据记录区的组织方式,并重点探讨编码问题与备注字段处理等常见挑战。通过C#实战代码,演示如何不依赖第三方库直接读取DBF文件,并将其中的数据转换为结构化对象,最终应用于现代

weixin_30781433的博客 419

基于LangChain构建企业级AI Agent:模拟Gemini Spark的Tasks-Skills-Schedules架构

如果你还在用传统的RPA脚本或手动流程处理公司内部数据,那么你可能已经落后了整整一个时代。最近,海外技术圈和开发者社区正在热议一个现象:Google通过其最新的AI Agent产品——Gemini Spark,正在重新定义“企业自动化”的边界。这不再是一个简单的聊天机器人,而是一个能真正理解你的工作流、连接你的数字资产、并主动替你执行复杂任务的“数字员工”。 核心的变革点在于,Gemini Spark通过一种被称为“Personal Intelligence”的架构,能够原生接入Google Workspa

weixin_34082789的博客 528

新装Win10/Win11后VMware虚拟机连不上网?手把手教你排查‘网络信息不可用’(从服务检查到网段配置)

本文详细介绍了在Windows 10/11系统上安装VMware Workstation后虚拟机无法联网的排查方法。从检查VMware NAT Service、DHCP Service等关键服务状态,到重置虚拟网络编辑器配置,再到内核设备驱动问题解决,手把手教你解决‘网络信息不可用’问题。特别针对VMCI驱动故障提供了实用解决方案,帮助用户快速恢复虚拟机网络连接。

weixin_28736335的博客 770

C# WinForm集成YOLOv7实现工业质检系统开发

目标检测作为计算机视觉的核心技术,通过深度学习模型实现物体的自动识别与定位。YOLOv7作为当前先进的单阶段检测器,在保持实时性的同时提供高精度检测能力。结合WinForm框架可以快速构建本地化部署的工业级应用,特别适合生产线缺陷检测、安防监控等场景。本文详细介绍如何将YOLOv7模型集成到C# WinForm项目中,包括ONNX模型转换、实时视频处理、串口通信等关键技术实现,并分享工业场景下的性能优化经验与常见问题解决方案。

weixin_33898876的博客 339

Protobuf NDK以及QNX交叉编译

Protobuf 用处很广,尤其是通讯数据序列化,反序列化。TODO。

静虚待令,有物混成 1560

Python字符串插值实战:f-string、format与%格式化深度对比

字符串插值是Python中实现动态文本生成的基础能力,其核心在于将变量、表达式安全高效地嵌入字符串模板。从底层原理看,f-string作为格式化字符串字面量,在编译期解析、运行时求值,具备最佳性能与可读性;.format()支持运行时模板和命名占位符,适用于动态配置与复杂复用场景;%格式化则提供C级确定性,保障跨版本兼容与系统级交互稳定性。技术价值体现在提升代码可维护性、规避TypeError与None污染等运行时风险,并支撑日志、SQL、API响应等关键应用场景。本文基于真实生产案例,系统剖析三者适用边界

weixin_34396902的博客 396

lattice Diamond Programmer程序下载

Lattice Diamond Programmer(支持Lattice FPGA与CPLD程序下载)

qq_44385725的博客 5170

CANdb++ Editor实战:5步搞定DBC文件信号布局与字节对齐(附常见错误排查)

本文详细介绍了使用CANdb++ Editor进行DBC文件信号布局与字节对齐的实战方法。通过五步法,深入解析Intel与Motorola字节序差异、跨字节信号布局规则,并借助Layout视图等工具,帮助工程师高效解决信号错位、数据解析错误等常见问题,确保CAN网络通信的准确性与可靠性。

solidity8miner的博客 695

Unity游戏开发中SQLite数据库集成与优化实战指南

在游戏与应用开发中,数据存储是核心需求,尤其当涉及玩家存档、配置管理等结构化数据时,传统键值对或文本文件方案在查询效率与事务安全上面临挑战。关系型数据库通过SQL语言提供了强大的数据定义、查询与管理能力,其ACID特性确保了数据操作的原子性与一致性。SQLite作为一款轻量级、零配置的嵌入式数据库引擎,因其无需独立服务器进程、跨平台兼容性高、资源占用少等特性,成为客户端本地存储的理想选择。在Unity引擎生态中,通过SQLite4Unity3d等封装插件,开发者能以接近原生SQLite的体验,在C#脚本中高

weixin_30791095的博客 337

嵌入式C开发必备:用Cursor规则搞定代码风格检查(附Pikachu项目实战)

本文以Pikachu开源项目为例,详细介绍了如何利用Cursor的AI代理规则系统,为嵌入式C开发项目配置一套完整的代码风格检查与规范执行方案。通过实战演示,指导开发者创建项目级规则,实现命名、格式、硬件抽象层及驱动开发的自动化规范,从而提升代码一致性、可维护性和团队协作效率。

weixin_29181861的博客 598

Reflector None模式:不学IL也能读懂.NET编译逻辑

中间语言(IL)是.NET运行时的底层指令表示,但直接阅读IL成本高、转化率低。其本质并非汇编级真相,而是编译器生成的抽象中间态;真正高效的技术路径,是借助反编译工具的‘裸逻辑还原’能力——如Reflector的None模式,跳过语法糖美化,原样呈现foreach、using、async等特性编译后的goto/try-finally/状态机结构。这种技术价值在于以C#可读形式暴露编译意图,大幅降低认知门槛,支撑性能分析、内存泄漏排查、跨语言理解等典型工程场景。本文聚焦Reflector None模式的实操逻

412

DISK配置服务器软RAID工作任务(RAID1+BITLOCKER)-winserver4

DISK配置服务器软RAID工作任务(RAID1+BITLOCKER)-winserver4

新时代先锋的博客 7299

零基础教你学RDMA驱动开发:从入门到精通--第6章 内存管理与DMA映射​6.2 DMA地址转换:内核dma_map_single()与硬件IOVA(I/O虚拟地址)​

本文深入探讨RDMA驱动中DMA地址转换机制,重点分析内核dma_map_single()函数与硬件IOVA的作用。主要内容包括:1)DMA地址转换的必要性,解决CPU虚拟地址与HCA设备DMA地址的空间割裂问题;2)内核DMA映射机制实现原理,涵盖无IOMMU(直接物理地址映射)和有IOMMU(IOVA转换)两种场景;3)硬件IOVA的工作流程及其与RDMA内存注册的结合;4)RDMA驱动开发中的关键问题,如缓存一致性、映射方向错误、IOVA泄漏等;5)以mlx5驱动为例的实践分析。文章强调DMA地址转换

xiaoheshang_123的博客 239

Unity连接Access数据库实战:ODBC方案与跨平台部署指南

在软件开发中,数据库连接是数据持久化与管理的核心技术,它通过标准接口实现应用程序与数据源的通信。其原理在于利用驱动程序和连接协议,将高级语言的操作指令转换为数据库能理解的查询语言。这项技术的价值在于能够高效、安全地管理结构化数据,支撑从企业应用到单机工具等多种场景。特别是在需要与现有办公数据生态集成的项目中,访问本地轻量级数据库成为常见需求。本文聚焦于Unity引擎,探讨如何通过ODBC这一标准接口,结合System.Data.Odbc命名空间,实现与Microsoft Access数据库的稳定连接。文中详

weixin_33851604的博客 357

ESP32 物联网宠物喂食器:实现远程智能投喂的完整方案

本项目基于 ESP32 实现了智能宠物喂食器的核心功能,硬件结构简单、成本较低,软件支持远程控制和状态监测。添加摄像头:通过 ESP32-CAM 模块实时观察宠物进食情况。APP 集成:开发专属手机 APP,支持定时设置、报警推送、喂食记录查询。语音控制:结合 Alexa 或小爱同学,实现语音指令喂食。太阳能供电:户外使用时,通过太阳能板为设备供电,节能环保。

weixin_42300449的博客 1274

Python学生成绩管理系统实战:零基础入门到完整项目开发

面向对象编程是Python的核心编程范式,通过封装、继承和多态等特性实现代码的模块化和重用。在数据库操作方面,SQLite作为轻量级嵌入式数据库,无需单独服务器即可实现数据持久化存储。这种技术组合在教学管理系统开发中具有重要价值,能够有效管理学生信息和成绩数据。Python学生成绩管理系统作为典型的实战案例,将面向对象编程与数据库操作相结合,通过Student类和GradeManager类的设计,实现了学生信息的增删改查、成绩录入统计等核心功能。该系统特别适合Python初学者通过完整项目巩固基础语法,理解

weixin_33831673的博客 707

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Grid++Report动态字段值实现:脚本驱动报表灵活数据展示

在报表开发领域,动态字段处理是应对业务需求变化的核心技术。其原理在于通过脚本引擎在报表渲染流程中插入自定义数据处理环节,实现字段内容与来源的运行时动态化。这项技术的价值在于突破传统静态报表的局限,使报表能够灵活适应单据打印附加信息、条件化多维展示等复杂场景。通过事件驱动模型与对象定位机制,开发者可以在FetchRecord或Format事件中,集成外部COM组件或执行逻辑计算,为字段注入动态值。本文以Grid++Report为例,深入解析如何利用其脚本功能,特别是FetchRecord事件与ObjectBy

weixin_30920853的博客 478

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: FBO
下一篇: C#将数据集DataSet中的数据导出到EXCEL文件的几种方法
firefly_2002
博客等级 码龄14年 434粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值