Chapter 1. Quick Start
Index:
HXTT Excel provides a type 4 JDBC driver for Microsoft Excel (MS Excel) version from 95, 97, 98, 2000, 2001, 2002, 2003, 2004, 2007, 2010, 2013, Strict Open XML format, to 2016. It supports JDBC1.2, JDBC2.0, JDBC3.0, JDBC4.0, JDBC4.1, JDBC4.2, and JDBC4.3. It supports Personal Java, JDK1.0.X, JDK1.1.X, JDK1.2.X, JDK1.3.X, JDK1.4.X, JDK1.5.X, JDK1.6.X, JDK1.7.X, JDK1.8.X, Java 9, Java 10, Java 11, Java 12, Java 13, and Java 14. It supports all transactions level of READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, and SERIALIZABLE. It supports JBuilder's Database Pilot, Oracle's JVM, JDeveloper 10G, Dreamweaver UltraDev, Dreamweaver ColdFusion, ObJectRelationalBridge, DBVisualizer, iSQL-Viewer, AquaDataStudio, Sunopsis, MySQL Migration Toolkit, Tomcat, vqServer, Hibernate, SQuirreL SQL Client, Crystal Reports, Jisql, and DbEdit Database Utilites for Eclipse Platform. It supports XOPEN SQLState, RMI, Jini, JNDI, and serialization. It supports { UNION | INTERSECT | EXCEPT | MINUS } [ ALL ] query , INNER JOIN, FULL JOIN, LEFT JOIN, RIGHT JOIN, NATURAL JOIN, CROSS JOIN, self join, GROUP_CONCAT, multiple-row VALUES table, PIVOT table, UNPIVOT table, and subquery which includes single-row subquery, multirow subquery, multiple-column subquery, inline views, and correlated subquery. The current version of the HXTT Excel packages are available here:
First, you need to download Java11 from http://www.oracle.com if you use Excel JDBC 4.3 package(Excel_JDBC43.jar). You can download JDK1.8.X from http://www.oracle.com if you use Excel JDBC 4.2 package(Excel_JDBC42.jar). You can download JDK1.7.X, JDK1.8.X, or Java 11, if you use Excel JDBC 4.1 package(Excel_JDBC41.jar). You can download JDK1.6.X, JDK1.7.X, JDK1.8.X, or Java 11, if you use Excel JDBC 4.0 package(Excel_JDBC40.jar). You can download JDK 1.3.X, 1.4.X, or JDK1.5.X if you use Excel JDBC 3.0 package(Excel_JDBC30.jar). You can download JDK1.2.X too if you use Excel JDBC 2.0 package(Excel_JDBC20.jar). You can download JDK1.1.X too if you use Excel JDBC 1.2 package(Excel_JDBC12.jar).
Secondly, please add Excel_JDBC43.jar or Excel_JDBC42.jar, Excel_JDBC41.jar, Excel_JDBC40.jar, Excel_JDBC30.jar, Excel_JDBC20.jar, or Excel_JDBC12.jar to your Java class path, for instance, "SET CLASSPATH=c:\javalib\Excel_JDBC42.jar;%classpath%". You can also use "java -classpath c:\javalib\Excel_JDBC42.jar yourExcelclass" to run your class. More information about classpath, please read the "Setting the Classpath" topic in file:///yourdriver|/jdk1.8/docs/tooldocs/tools.html . You can use "java -classpath c:\javalib\Excel_JDBC42.jar yourExcelclass" too.
Thirdly, you can use 'Class.forName("com.hxtt.sql.excel.ExcelDriver").newInstance();' or Class.forName("com.hxtt.sql.excel.ExcelDriver");' to load this driver.
Fourth, if you have used other JDBC driver, you only need to know the correct
URL format for DriverManager.getConnection(url,"",""); You
can find the Excel URL format below. If you were a Java novice, please
read also other Java examples code in Excel_JDBC43demo.zip, Excel_JDBC42demo.zip, Excel_JDBC41demo.zip
or Excel_JDBC40demo.zip.
Excel URL format:
Embedded: jdbc:excel:[//]/[DatabasePath][?prop1=value1[;prop2=value2]] (You can omit that "//" characters sometimes) For example: "jdbc:excel:/." "jdbc:excel:/c:/data" for Windows driver "jdbc:excel:///c:/data" for Windows driver "jdbc:excel:////usr/data" for unix or linux "jdbc:excel://///192.168.10.2/sharedir" for UNC path "jdbc:excel:/./data" "jdbc:excel:/./data/test8.xls" "jdbc:excel:/./data/test9.xlsx" Remote Access (client/server mode): jdbc:excel://host:port/[DatabasePath] For example: "jdbc:excel://domain.com:3099/c:/data" if one ExcelServer is run on the 3099 port of domain.com "jdbc:excel://domain.com:3099/c:/data/mydata.xls" "jdbc:excel://domain.com:3099/c:/data/report.xlsx" Compressed Database:(.ZIP, .JAR, .GZ, .TAR, .BZ2, .TGZ, .TAR.GZ, .TAR.BZ2, .7z) jdbc url format is the same as embedded url and remote url. For example: "jdbc:excel:/c:/test/testexcel.zip Memory-only Database: jdbc:excel:/_memory_/ URL Database:(http protocol, https protocol, ftp protocol, sftp protocol) jdbc:excel:http://httpURL jdbc:excel:https://httpsURL jdbc:excel:ftp://ftpURL jdbc:excel:ftpes://ftpURL jdbc:excel:ftps://ftpURL jdbc:excel:sftp://sftpURL For example: "jdbc:excel:http://www.hxtt.com/test" ////Note: FTP site's user/password should be set in ftpURL, and cannot be set in JDBC connection property because user/password JDBC connection property belongs to server/client connection. //FTP protocol supports explicit SSL/TLS encryption (FTPES) and implicit SSL/TLS (FTPS). FTPES can be detected according to FTP Server reply, and FTPS can be used if you use port 990 in Ftp url. "jdbc:excel:sftp://testa:123456@localhost" SAMBA Database:(smb protocol) jdbc:excel:smb://[[[domain;]username[:password]@]server[:port]/[[share/[dir/]file]]][?[param=value]] For example: "jdbc:excel:smb://test1:123@100.100.13.94/excelfiles".zone" ////Note: SAMBA user/password should be set in SMB URL, and cannot be set in JDBC connection property because user/password JDBC connection property belongs to server/client connection. Free JDBC url:(Warning: only use it for special project) jdbc:excel:/" or "jdbc:excel:///". Then you can use some full UNC path names in SQL to visit anywhere where your Java VM has right to access. For instance: select * from \\amd2500\e$\excelfiles\test; elect * from "\\amd2500\d$\excelfiles".test; select * from ".".test; HXTT Excel supports seamlessly data mining on memory-only table, physical table, url table, compressed table, SAMBA table in a sql. More details is in Advanced Programming chapter.
Excel supports SQL-92. It supports { UNION | INTERSECT | EXCEPT | MINUS } [ ALL ] query , INNER JOIN, FULL JOIN, LEFT JOIN, RIGHT JOIN, NATURAL JOIN, CROSS JOIN, self join, GROUP_CONCAT, and subquery which includes single-row subquery, multirow subquery, multiple-column subquery, inline views, and correlated subquery. The major syntax is listed at here.
Excel driver will use index to speed up the query which contains some indexed expressions. Excel supports utilizing index file for LIKE, BETWEEN, IN, DISTINCT, ORDER, and some OR operations.