package jp.btsol.dbunit; import java.io.File; Import Java .io.FileOutputStream; Import Java.sql.Connection; Import Java.sql.DriverManger; import org.apache.commons.cli.BasicParser; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseExeptioin; import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang.StringUtils; import org.dbunit.database.IDatabaseConnection; import org.dbunit.database.QueryDataSet; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.excel.XlsDataSet; import org.dbunit.ext.oracle.OracleConnection; public class Export2Excel{ private static final String TEST_DATA_DIRECTORY= "D:/work/"; private static final String DATA_FILE_NAME = "dbUnitTerst.xls"; private static final String DRIVER_CLASS_NAME = "oracle.jdbc.driver.OracleDriver"; public static void main(String[] args) throws Exception{ try{ String tableName = ""; String sql = ""; String url = ""; String userID = ""; String password = ""; String filename = TEST_DATA_DIRECTORY + DATA_FILE_NAME; Options options = new Options(); options.addOption("t", true, "table name"); options.addOption("sql", true, "sql"); options.addOption("out", true, "out file name"); options.addOption("url", true, "url"); options.addOption("u", true, "user ID"); options.addOption("p", true, "password"); CommandLineParser parser = new BasicParse(); CommandLine commandLine = parser.parse(options, args); if (commandLine.hasOption("t")){ tableName = commandLine.getOptionValue("t"); } if (commandLine.hasOption("sql")){ sql = commandLine.getOptionValue("sql"); } if (commandLine.hasOption("out")){ out = commandLine.getOptionValue("out"); } if (commandLine.hasOption("url")){ url = commandLine.getOptionValue("url"); } if (commandLine.hasOption("u")){ userID = commandLine.getOptionValue("u"); } if (commandLine.hasOption("p")){ password = commandLine.getOptionValue("p"); } Class.forName(DRIVER_CLASS_NAME); Connection jdbcConnection = DrierManager.getConnection(url, userID, password); IDatabaseConnection connection = new OracleConnection(jdbcConnection, userID); if(!StringUtils.isEmpty(tableName)){ String[] tableNames = {tableName}; IDataSet partialDataSet = connection.createDataSet(tableNaems); System.out.println("<< XLSデータExport開始 >>"); XlsDataSet.write(dataSet, new FileOutputStream(new File(filename))); System.out.println("<< XLSデータExport終了 >>"); } else{ System.out.println("<< No data exported. >>"); } } catch(Exception e){ e.printStackTrace(System.out); } } } |
投稿 >