Java/Ant/DBをExcelにExportするAntタスク
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
[[DBUnit>Java/DBUnit]] というDB用のUnitテストツールがある...
さてこのDBUnitにはExcelにExportするAntタスクがなかったの...
***ダウンロード [#nea2425e]
-[[excelExporter.jar>http://www.masatom.in/viewvc/trunk/E...
***インストール [#zb76c222]
前述の通り、ExcelにExportする機能自体はDBUnitを使用してい...
dbunit-2.1.jar
poi-2.5.1-final-20040804.jar
poi-contrib-2.5.1-final-20040804.jar
poi-scratchpad-2.5.1-final-20040804.jar
が必要です。これらのライブラリは
-[[dbunit-2.1.tar.gz>http://sourceforge.net/project/showf...
-[[poi-bin-2.5.1-final-20040804.tar.gz>http://www.apache....
よりダウンロードできますので、ダウンロードしAnt内でパスを...
***サンプル [#a3f548b0]
-build.xml
<?xml version="1.0" encoding="Shift_JIS"?>
<project name="taskdef_sample" default="excelExport">
<property file="build.win.properties" />
<!-- クラスパス名の定義 -->
<path id="exporter.class.path">
<pathelement path="${java.class.path}" />
<pathelement path="${class.dir}" />
<pathelement path="${jar.dir}" />
<fileset dir="${jar.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<!-- クラスパス名の定義 以上 -->
<taskdef name="excelExport" classname="nu.mine.kino.db...
classpathref="exporter.class.path" />
<target name="excelExport">
<excelExport driver="com.mysql.jdbc.Driver" url="jdb...
userid="hoge" password="fuga" schema="h...
<export dest="hoge.xls" /> <-出力先
</excelExport>
</target>
</project>
-build.win.properties
class.dir = classes
jar.dir = lib
***ソースコード [#o59203d4]
/*******************************************************...
* Copyright (c) 2006 Masatomi KINO.
* All rights reserved.
* $Id: ExcelExportTask.java,v 1.1 2006/12/17 07:02:58 c...
*******************************************************...
//作成日: 2006/12/17
package nu.mine.kino.dbunit.ant;
import java.io.File;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.ITableIterator;
import org.dbunit.dataset.excel.XlsDataSet;
/**
* @author Masatomi KINO
* @version $Revision: 1.1 $
*/
public class ExcelExportTask extends Task {
private String driver;
private String url;
private String userId;
private String password;
private String schema;
private Export export;
public Export createExport() {
if (export == null) {
export = new Export();
}
return export;
}
public void execute() throws BuildException {
IDatabaseConnection con = null;
try {
con = getConnection();
IDataSet dataset = con.createDataSet();
ITableIterator iterator = dataset.iterator();
System.out.println("-------------------");
while (iterator.next()) {
System.out.println(iterator.getTableMetaData().g...
}
System.out.println("-------------------");
XlsDataSet.write(dataset, new FileOutputStream(exp...
} catch (Exception e) {
e.printStackTrace();
throw new BuildException(e);
} finally {
try {
if (con != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
private IDatabaseConnection getConnection() throws Exc...
System.out.println("driver : " + driver);
System.out.println("url : " + url);
System.out.println("userId : " + userId);
System.out.println("password : " + password);
System.out.println("schema : " + schema);
System.out.println("export : " + new File(export.g...
Class driverClass = Class.forName(driver);
Connection connection = DriverManager.getConnection(...
password);
return new DatabaseConnection(connection, schema);
}
以下setterなので省略
}
----
この記事は
#vote(おもしろかった[12],そうでもない[1])
-サイズがでかいとOutOfMemoryErrorとなってしまうので、環境...
-Windowsだと set ANT_OPTS=-Xmx512mなどです。Linuxだとexpo...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
[[DBUnit>Java/DBUnit]] というDB用のUnitテストツールがある...
さてこのDBUnitにはExcelにExportするAntタスクがなかったの...
***ダウンロード [#nea2425e]
-[[excelExporter.jar>http://www.masatom.in/viewvc/trunk/E...
***インストール [#zb76c222]
前述の通り、ExcelにExportする機能自体はDBUnitを使用してい...
dbunit-2.1.jar
poi-2.5.1-final-20040804.jar
poi-contrib-2.5.1-final-20040804.jar
poi-scratchpad-2.5.1-final-20040804.jar
が必要です。これらのライブラリは
-[[dbunit-2.1.tar.gz>http://sourceforge.net/project/showf...
-[[poi-bin-2.5.1-final-20040804.tar.gz>http://www.apache....
よりダウンロードできますので、ダウンロードしAnt内でパスを...
***サンプル [#a3f548b0]
-build.xml
<?xml version="1.0" encoding="Shift_JIS"?>
<project name="taskdef_sample" default="excelExport">
<property file="build.win.properties" />
<!-- クラスパス名の定義 -->
<path id="exporter.class.path">
<pathelement path="${java.class.path}" />
<pathelement path="${class.dir}" />
<pathelement path="${jar.dir}" />
<fileset dir="${jar.dir}">
<include name="**/*.jar" />
</fileset>
</path>
<!-- クラスパス名の定義 以上 -->
<taskdef name="excelExport" classname="nu.mine.kino.db...
classpathref="exporter.class.path" />
<target name="excelExport">
<excelExport driver="com.mysql.jdbc.Driver" url="jdb...
userid="hoge" password="fuga" schema="h...
<export dest="hoge.xls" /> <-出力先
</excelExport>
</target>
</project>
-build.win.properties
class.dir = classes
jar.dir = lib
***ソースコード [#o59203d4]
/*******************************************************...
* Copyright (c) 2006 Masatomi KINO.
* All rights reserved.
* $Id: ExcelExportTask.java,v 1.1 2006/12/17 07:02:58 c...
*******************************************************...
//作成日: 2006/12/17
package nu.mine.kino.dbunit.ant;
import java.io.File;
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.ITableIterator;
import org.dbunit.dataset.excel.XlsDataSet;
/**
* @author Masatomi KINO
* @version $Revision: 1.1 $
*/
public class ExcelExportTask extends Task {
private String driver;
private String url;
private String userId;
private String password;
private String schema;
private Export export;
public Export createExport() {
if (export == null) {
export = new Export();
}
return export;
}
public void execute() throws BuildException {
IDatabaseConnection con = null;
try {
con = getConnection();
IDataSet dataset = con.createDataSet();
ITableIterator iterator = dataset.iterator();
System.out.println("-------------------");
while (iterator.next()) {
System.out.println(iterator.getTableMetaData().g...
}
System.out.println("-------------------");
XlsDataSet.write(dataset, new FileOutputStream(exp...
} catch (Exception e) {
e.printStackTrace();
throw new BuildException(e);
} finally {
try {
if (con != null) {
con.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
private IDatabaseConnection getConnection() throws Exc...
System.out.println("driver : " + driver);
System.out.println("url : " + url);
System.out.println("userId : " + userId);
System.out.println("password : " + password);
System.out.println("schema : " + schema);
System.out.println("export : " + new File(export.g...
Class driverClass = Class.forName(driver);
Connection connection = DriverManager.getConnection(...
password);
return new DatabaseConnection(connection, schema);
}
以下setterなので省略
}
----
この記事は
#vote(おもしろかった[12],そうでもない[1])
-サイズがでかいとOutOfMemoryErrorとなってしまうので、環境...
-Windowsだと set ANT_OPTS=-Xmx512mなどです。Linuxだとexpo...
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: