用OLEDB的GetOleDbSchemaTable方法获取EXCEL的Sheet列表

C 读取Excel中指定的Sheet名称或索引 阅读详情

具体方法参考MSDN的GetOleDbSchemaTable方法。 (http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbconnection.getoledbschematable.aspx)

在使用过程中发现取出的Sheet和实际excel不一致, 会多出不少。目前总结后有两种情况:

1. 取出的名称中,包括了XL命名管理器中的名称(参见XL2007的公式--命名管理器, 快捷键Crtl+F3);

2. 取出的名称中,包括了FilterDatabase后缀的, 这是XL用来记录Filter范围的, 参见http://www.mrexcel.com/forum/showthread.php?t=27225;

对于第一点比较简单, 删除已有命名管理器中的内容即可;第二点处理起来比较麻烦, Filter删除后这些名称依然保留着,简单的做法是新增sheet然后将原sheet Copy进去;


我则用C#对取出的名称做了一下筛选:

        foreach(DataRow dr in dt.Rows)
        {
            // 用下面方法无效的sheet
            if (dr[2].ToString().Contains("$") && !dr[2].ToString().EndsWith("$"))
            {
                continue;
            }
            string strsql = " SELECT *  FROM [" + dr[2].ToString() + "]  ";
            OleDbDataAdapter adr3 = new OleDbDataAdapter(strsql, oldcn);
            DataSet ds = new DataSet();
            adr3.Fill(ds);

            // ......

}

C#读取Excel多个sheet using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; namespace ConsoleApplication1 {     class Program     {         static void Main 阅读详情

相关推荐

主流算力卡性能对比分析

超大规模AI训练/HPC:优先选择NVIDIA H100或AMD MI300X,需关注显存带宽和多卡互联能力。企业级AI训练:NVIDIA A100性价比更高,生态成熟。国内自主可控需求:华为昇腾910B是首选,支持液冷和低功耗设计。本地AI推理/游戏:NVIDIA RTX 4090或RTX 5090性价比突出,但需注意显存容量限制。边缘计算/低功耗场景:华为昇腾310或清微智能TX536(能效比6.3TOPS/W@INT8)更合适。

m0_69867914的博客 7804

GetOleDbSchemaTable获得数据库中的表名和其他一些结构,例如:视图,存储过程

示例:  public   DataTable   GetTables(OleDbConnection   conn)      {          conn.Open();          DataTable   schemaTable   =   conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,

zhandeen的专栏 1637

实测昇腾310P跑Qwen3有多慢?手把手带你部署vLLM并记录性能数据

本文实测了昇腾310P在vLLM框架下部署Qwen3模型的性能表现,详细记录了2.5 tokens/s的生成速度及其技术瓶颈。通过环境搭建、基准测试和深度分析,揭示了计算资源利用率不足等关键问题,并提供了实用的优化技巧与监控方案,帮助开发者更好地理解和优化昇腾平台上的大模型部署。

weixin_28724319的博客 895

利用OleDb的GetOLEDBSchemaTable方法得到数据库架构信息

 GetDataBaseSchema.ASPx      VB" AutoEventWireup="false" Codebehind="GetDataBaseSchema.aspx.vb"    Inherits="aspxWeb.GetDataBaseSchema"%>             GetDataBaseSchama    .net 7.0">       JavaScript

坚定的锡兵 985

3D IC中Memory-on-Logic堆叠测试的DFT解决方案与工程实践

在半导体行业,随着摩尔定律逼近物理极限,3D IC技术通过芯片垂直堆叠实现性能提升和异构集成,已成为重要发展方向。其核心原理是利用硅通孔(TSV)或微凸块实现芯片间电气互连,将多个不同功能的芯片(如逻辑芯片与存储芯片)集成在一个封装内。这项技术的核心价值在于能大幅提升系统性能、降低功耗并实现更小的封装尺寸。然而,芯片堆叠后,传统的测试方法面临巨大挑战,尤其是测试访问存在物理屏障,无法直接探测被覆盖的芯片接口。为此,可测试性设计(DFT)成为确保3D IC可靠性与量产可行性的关键技术。它通过在设计阶段植入专用

weixin_42521058的博客 632

语音算法面试复习系列3——语音识别基础 + CTC 详解

摘要:本文系统讲解了语音识别(ASR)的核心算法CTC。主要内容包括:1) ASR的核心挑战是输入音频帧与输出文字序列的对齐问题;2) CTC通过引入blank标记和动态规划算法,无需对齐标注即可训练;3) 详细解析CTC前向算法实现路径概率求和,以及贪心和Beam Search解码方法;4) 指出CTC的条件独立性假设导致无法建模输出依赖关系;5) 对比CTC与传统方法和Attention/Transducer的优缺点,分析实际应用中的subsampling技术。文章包含数学推导、代码实现和面试常见问题,

m0_60605453的博客 305

使用 GetOleDbSchemaTable 检索架构信息(表、列、主键等)

本文演示如何用 ADO.NET 中 OleDbConnection 对象的 GetOleDbSchemaTable 方法检索数据库架构信息。数据源中的架构信息包括数据库或可通过数据库中的数据源、表和视图得到的目录以及所存在的约束等。表中的架构信息包括主键、列和自动编号字段。注意,在使用 SqlClient.SqlConnection 对象时没有与 GetOleDbSchemaTable 等价的方法

790

【2025最新版】间接平差——以水准网平差为例 (python详细过程版)

水准网间接平差的python代码实现。博客长期更新,本文最新更新时间为:2025年5月20日。

点云侠的博客 1702

利用OleDb的GetOLEDBSchemaTable方法得到数据库架构信息-.NET教程,数据库应用

我们能够利用oledb的getoledbschematable方法得到数据库的任何视图,表,存储过程等信息。 getdatabaseschema.aspx inherits="aspxweb.getdatabaseschema"%> getdatabaseschama getdatabaseschema.aspx.vb imports system impor

sqlove的专栏 1243

PX4从放弃到精通(二十一):使用git管理PX4代码

文章目录前言一、设置git密钥二、将代码上传至gitee 前言 Ubuntu 18.04 PX4 1.11.3 由于github有时网速较慢,本文使用gitee。 一、设置git密钥 ssh-keygen -t rsa -C “your_email@youremail.com” your_email@youremail.com为自己注册的gitee账户邮箱.设置路径与密码时,也直接回车不设置,如下图,密钥生成的位置在红框处. 在密钥目录下按Ctrl+H显示隐藏文件,进入.ssh文件夹用gedit打开id

超维空间科技的博客 3478

真格量化-bs套利

#!/usr/bin/env python # coding:utf-8 from PoboAPI import * import datetime import time import numpy as np from copy import * #开始时间,用于初始化一些参数 def OnStart(context) : context.myacc = None #登录交易账号 if context.accounts["回测期权"].Login() : co.

qq_26742269的博客 1321

OleDbConnection 对象的 GetOleDbSchemaTable 方法

OleDbConnection 对象的 GetOleDbSchemaTable 方法OLE DB .NET 数据提供程序使用 OleDbConnection 对象的 GetOleDbSchemaTable 方法展示架构信息。GetOleDbSchemaTable 返回填充了架构信息的 DataTable。 GetOleDbSchemaTable 的第一个参数是架构参数,它是一个 OleDbSc...

weixin_30521649的博客 376

MIKE水动力笔记3_岸线及水深数据之根据遥感影像绘制岸线的方法

通过遥感影像自己绘制岸线来制作岸线数据,这种方法获取的岸线及水深数据精度很高,且可以根据自己的研究需要进行灵活处理。

晏长街的博客 1万+

C#获取Excel中所有的Sheet名称

Excel.Application myExcel = new Excel.Application(); object missing = System.Reflection.Missing.Value; myExcel.Application.Workbooks.Open(

qq1010726055的专栏 9781

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

C#以OleDb的方式操作Excel文件(二)

上次说到,用OleDb方式操作Excel文件,可不可以知道这个文件中到底有几个工作表,每个工作表叫什么

小Q的记录 1157

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

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

c#通过oledb获取excel文件表结构信息

 这个问题来自论坛提问,同理可以获得access等数据库的表结构信息。 using System;namespace ConsoleApplication11...{    class Program    ...{        public static void Mai

jinjazz 8810

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C# 读取Excel中指定的Sheet名称或索引

public DataTable ExcelToDS(string Path)        {            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=Excel 8.0;";            OleDbConne

faunjoe的专栏 837

Excel获取Sheet表名

背景:最近在做Excel的导入导出功能,收获了很多的知识,首先采用数据库链接方式,使用OLEDB链接接口访问Excel表中的数据。 链接字符串: excel 2000 ~ 2003的 OleDb 连接串的格式如下: Provider=Microsoft.Jet.OleDb.4.0;Data Source='excel文件路径';Extended Properties='Excel 8.0

一个程序员的一些碎碎念 7967

C#中采用OLEDB方式来读取EXCEL文件

使用OLEDB来读取EXCEL的原因很简单,只是因为我感觉代码量不多。代码已经本地测试通过。 public class OlEDBHelp { public DataSet ExcelToDataSet(string path,string tableName = "table1") { DataSet ds = new DataSe...

机械键盘侠博客 1921

获取Excel表中各个Sheet的方法

获取Excel表中各个Sheet的方法 private void simpleButton2_Click(object sender, EventArgs e) { OfdBOM.Filter = "Excel文件|*.xls;*.xlsx"; OfdBOM.Title = "选择BOM文件"; ...

weixin_30237281的博客 650

C#可以获取Excel文件中Sheet的名字

C#可以获取Excel文件中Sheet的名字吗 C#可以获取Excel文件中Sheet的名字吗 我试过WPS的表格可以 可以 要代码么 百度都有 【深圳】Milen(99696619)  14:13:12 可以 需要吗 我有 connection.GetOleDbSchemaTable 通用 @【深圳】Milen  获取sheet 这个的哦 可能我忘了  pub...

weixin_34096182的博客 722

c#获取excel中的所有sheet名称(自用笔记)

Excel.Application myExcel = new Excel.Application(); object missing = System.Reflection.Missing.Value; myExcel.Application.Workbooks.Open(this.txtFile.Text, missing, missing, missing, missing, miss...

cuoban的学习空间 1万+
上一篇: 查看SSRS查詢記錄的T-SQL
下一篇: SQL递归游戏-你厉害吗,来过5关
cdwolfling
博客等级 码龄21年 5粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值