zoukankan      html  css  js  c++  java
  • 我的excel是2003版本的,里边有sheet1、sheet2两个工作表,当使用GetOleDbSchemaTable获取表Schema时,结果是4个,分别为: sheet1 sheet1$ sheet2 sheet2$

    原帖地址:http://bbs.csdn.net/topics/310230098

    -----------------------------------------------------------------------------------------------------

    我的excel是2003版本的,里边有sheet1、sheet2两个工作表,当使用GetOleDbSchemaTable获取表Schema时,结果是4个,分别为:

    sheet1 sheet1$ sheet2 sheet2$
    代码如下
    string cnnString = string.Format("Provider=Microsoft.Jet.OleDb.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=yes; IMEX=2;'", sourceFile);
    OleDbConnection cnn=new OleDbConnection(destCnnString);
    cnn.Open ();
    DataTable dtSchema = cnn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
    为什么呢?

    -----------------------------------------------------------------------------------------------------

    应该是你删除掉的那几个,我不明白为什么删除后通过你这样的方式还能看到
    即如果你建立了4个sheets删除两个,但是会发现还是能找到四个

    -----------------------------------------------------------------------------------------------------

    奇怪了!如果删除sheet1$,那么sheet1也就不见了!如果我新建一个sheet,那么就不会多一个sheet出来!查看隐藏的sheet也没有发现,为什么会多sheet出来呢?这个excel是别人给的,如果我自己建立excel文件则是正常的,为什么呢?

    -----------------------------------------------------------------------------------------------------

    又发现一个问题,如果是用dts导出来的,那就会有两个表名,如customers$和customers,不知道为什么?

    -----------------------------------------------------------------------------------------------------

    确定问题所在了!
    1:GetOleDbSchemaTable取到的表的信息还包括excel的命名区域;
    2:因为excel是通过dts导出生成的,导出时同时生成了命名区域;(还没找到哪里可以设置不生成命名区域)
    3:在excel2007中,公式--命名管理器中,删除命名区域即可!

  • 相关阅读:
    ID:未找到命令-BASH:TTY:未找到命令
    连接/登录/访问 FTP超时、时间长,一条配置解决
    PlantUML integration plugin IDEA
    使用sc.exe delete 服务名 删除Windows下的【安装错误的、不能使用的】服务
    Eclipse JDT Icons(Java Development Tools 图标)
    Seata分布式事务——no available server to connect解决
    Slf4j Logger logger.info的使用
    SonarQube网页端登录失败的解决
    SpringBoot属性加载顺序
    W3School-SQL测验记录
  • 原文地址:https://www.cnblogs.com/jcz1206/p/3540123.html
Copyright © 2011-2022 走看看