Main   Products   Offshore Outsourcing   Customers   Partners   ContactUs  
JDBC Databases
  HXTT Access 7.1.142
  HXTT Cobol 5.0.142
  HXTT DBF 7.1.143
  HXTT Excel 6.1.146
 
  Buy Now
  Support
  Download
  Document
  FAQ
  HXTT Json 1.0.114
  HXTT Paradox 7.1.142
  HXTT PDF 2.0.142
  HXTT Text(CSV) 7.1.142
  HXTT Word 1.1.142
  HXTT XML 4.0.143
Offshore Outsourcing
Free Resources
  Firewall Tunneling
  Search Indexing Robot
  Conditional Compilation
  Password Recovery for MS Access
  Password Recovery for Corel Paradox
  Checksum Tool for MD5
  Character Set Converter
  Pyramid - Poker of ZYH
   
   
   
Heng Xing Tian Tai Lab of Xi'an City (abbr, HXTT)

HXTT Excel
computer science
zd
2020-11-12 01:03:38.0
你好,请问, 请问使用的是4.2的HXTT Excel,我这边有2个问题,麻烦帮我解答下。
问题如下:
1、url 是直接写死到具体的xlsx吗,如:jdbc:excel:/c:/data/aa/xlsx;
2、我在使用select * from sheet的时候,我这个sheet的名字如何获取,我有很多excel 要判断这个excel 是否是可以正常打开的,但是现在有个问题就是,我的sheet 名字是不知道的,在不知道sheet 名字的前提下如何使用 sql 语句查询这个表?
Re:computer science
HXTT Support
2020-11-12 02:47:35.0
> 1、url 是直接写死到具体的xlsx吗,如:jdbc:excel:/c:/data/aa/xlsx;
可以
jdbc:excel:/c:/data/aa.xlsx; 然后 select * from sheet1;
也可以
jdbc:excel:/c:/data/; 然后 select * from aa.sheet1;


>我在使用select * from sheet的时候,我这个sheet的名字如何获取,我有很多excel 要判断这个excel 是否是可以正常打开
两个方法
一个是 DatabaseMetaData.getTables

另外一个简单些,直接使用sql:
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='TABLE';

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='TABLE' and TABLE_NAME='sheet1';
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='TABLE' and TABLE_NAME='sheet1' and TABLE_CAT='testzzz.xlsx';


Re:computer science
HXTT Support
2020-11-12 02:53:12.0
注意:

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='TABLE' and TABLE_NAME='sheet1' and TABLE_CAT='testzzz.xlsx';

使用这句,如果返回了,则excel可以正常打开,目前由于支持Excel95~2016格式,一般都能打开。
加密数据的不能打开,加口令的可以。
Re:Re:Re:computer science
zd
2020-11-15 22:03:17.0
您好,我现在有几千条xlsx跟xls后缀的文件,如何判断这些文件是否破损。一下是我的一些问题。
1、我现在是for循环getConnection(), 然后执行sql,现在循环3000多次, 执行几百次后没反应了。 我是使用jdbc的没有使用连接池,请问,是连接数过多导致的吗?
2、还有一个问题就是,如果一个sheet的的名字是0000 例如
select * from 0000 这条语句就报错。不知道其他的一些字符会不会报错。
Re:Re:Re:Re:computer science
HXTT Support
2020-11-16 21:03:59.0
1、 使用 delayedClose=0 尽快释放 因为一个连接中使用连接池管理(对于一个xlsx,可能会暂借3~4个线程进行解析,文件关闭前对于大xml文件可能还占了1个处于待命状态),由于使用的是按需异步解析(并不是将xml一口气解完),当xml解析处于等待状态时候延时关闭前要占用线程(sleep or wait状态).

2、 使用 SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='TABLE' and TABLE_NAME='sheet1' and TABLE_CAT='testzzz.xlsx'; 如果一个table都没有返回,就是坏文件。

3、sheet名用"" 或者[]括起来即可
Re:Re:Re:Re:Re:computer science
HXTT Support
2020-11-16 21:05:36.0
哦,写错
2、 使用 SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='TABLE' and TABLE_CAT='testzzz.xlsx'; 如果一个table都没有返回,就是坏文件。

Search Key   Search by Last 50 Questions




Google
 

Email: webmaster@hxtt.com
Copyright © 2003-2019 Heng Xing Tian Tai Lab of Xi'an City. | All Rights Reserved. | Privacy | Legal | Sitemap