用于Excel的开源JDBC驱动程序,Maven回购的CSV文件

Maven存储库中是否有Open Source Excel / CSV / XML文件JDBC驱动程序? JDBC-ODBC桥机制非常麻烦,不能很好地支持DataSource(可选function没有实现exception)。 读/写能力是必不可less的,但只读会做什么,如果没有什么更好的。

CsvJdbc是用于读取逗号分隔值文件的Java数据库驱动程序。

http://csvjdbc.sourceforge.net/

Maven回购:

<dependency> <groupId>net.sourceforge.csvjdbc</groupId> <artifactId>csvjdbc</artifactId> <version>1.0.9</version> </dependency> 

用法示例:

 import java.sql.*; public class DemoDriver { public static void main(String[] args) { try { // Load the driver. Class.forName("org.relique.jdbc.csv.CsvDriver"); // Create a connection. The first command line parameter is // the directory containing the .csv files. // A single connection is thread-safe for use by several threads. Connection conn = DriverManager.getConnection("jdbc:relique:csv:" + args[0]); // Create a Statement object to execute the query with. // A Statement is not thread-safe. Statement stmt = conn.createStatement(); // Select the ID and NAME columns from sample.csv ResultSet results = stmt.executeQuery("SELECT ID,NAME FROM sample"); // Dump out the results to a CSV file with the same format // using CsvJdbc helper function boolean append = true; CsvDriver.writeToCsv(results, System.out, append); // Clean up conn.close(); } catch(Exception e) { e.printStackTrace(); } } } 

OpenCSV

http://opencsv.sourceforge.net/

 <dependency> <groupId>net.sf.opencsv</groupId> <artifactId>opencsv</artifactId> <version>2.0</version> </dependency> 

 CSVReader reader = new CSVReader(new FileReader("yourfile.csv")); String [] nextLine; while ((nextLine = reader.readNext()) != null) { // nextLine[] is an array of values from the line System.out.println(nextLine[0] + nextLine[1] + "etc..."); } 

  CSVWriter writer = new CSVWriter(new FileWriter("yourfile.csv"), '\t'); // feed in your array (or convert your data to an array) String[] entries = "first#second#third".split("#"); writer.writeNext(entries); writer.close();