¤³¤Î¥Ú¡¼¥¸¤òdel.icio.us¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤ò¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯ ¤³¤Î¥Ú¡¼¥¸¤òlivedoor ¥¯¥ê¥Ã¥×¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤òYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤àYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯
Top / Java / Ant / DB¤òExcel¤ËExport¤¹¤ëAnt¥¿¥¹¥¯

DBUnit ¤È¤¤¤¦DBÍѤÎUnit¥Æ¥¹¥È¥Ä¡¼¥ë¤¬¤¢¤ë¤Î¤Ç¤¹¤¬¡¢¤³¤ì¤Ë¤ÏDB¤òXML·Á¼°¤äExcel·Á¼°¤ÇExport¤¹¤ëµ¡Ç½¤¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿DBUnit¤Ë¤ÏAnt¥¿¥¹¥¯¤âÉÕ°¤·¤Æ¤¤¤Æ¡¢XML·Á¼°¤ÇExport¤¹¤ëAnt¥¿¥¹¥¯¤Ê¤É¤¬¤¢¤ê¤Þ¤¹¡£

¤µ¤Æ¤³¤ÎDBUnit¤Ë¤ÏExcel¤ËExport¤¹¤ëAnt¥¿¥¹¥¯¤¬¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢ºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£

¥À¥¦¥ó¥í¡¼¥É

¥¤¥ó¥¹¥È¡¼¥ë

Á°½Ò¤ÎÄ̤ꡢExcel¤ËExport¤¹¤ëµ¡Ç½¼«ÂΤÏDBUnit¤ò»ÈÍѤ·¤Æ¤¤¤Þ¤¹¡£¤Þ¤¿DBUnit¤ÏJakarta¤ÎPOI(Excel¤òJava¤Ç°·¤¦API)¤ò»ÈÍѤ·¤Æ¤¤¤ë¤¿¤áPOI¤âɬÍפǤ¹¡£¶ñÂÎŪ¤Ë¤Ï

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

¤¬É¬ÍפǤ¹¡£¤³¤ì¤é¤Î¥é¥¤¥Ö¥é¥ê¤Ï

¤è¤ê¥À¥¦¥ó¥í¡¼¥É¤Ç¤­¤Þ¤¹¤Î¤Ç¡¢¥À¥¦¥ó¥í¡¼¥É¤·AntÆâ¤Ç¥Ñ¥¹¤òÄ̤·¤Æ¤¯¤À¤µ¤¤¡£¤â¤Á¤í¤ó³ÆDB¤ÎJDBC¥É¥é¥¤¥Ð¤Îjar¤âɬÍפǤ¹¡£

¥µ¥ó¥×¥ë

  • 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.dbunit.ant.ExcelExportTask" 
         classpathref="exporter.class.path" />
      <target name="excelExport">
        <excelExport driver="com.mysql.jdbc.Driver" url="jdbc:mysql://192.168.10.5/hoge" 
                     userid="hoge" password="fuga" schema="hoge"> <-DB¤ÎÀßÄê
          <export dest="hoge.xls" /> <-½ÐÎÏÀè
        </excelExport>
      </target>
    </project>
  • build.win.properties
    class.dir = classes
    jar.dir = lib

¥½¡¼¥¹¥³¡¼¥É

/*******************************************************************************
 * Copyright (c) 2006 Masatomi KINO.
 * All rights reserved. 
 * $Id: ExcelExportTask.java,v 1.1 2006/12/17 07:02:58 cvsuser Exp $
 *******************************************************************************/
//ºîÀ®Æü: 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().getTableName());
      }
      System.out.println("-------------------");
      XlsDataSet.write(dataset, new FileOutputStream(export.getDest()));
    } 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 Exception {
    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.getDest()).getAbsolutePath());
    Class driverClass = Class.forName(driver);
    Connection connection = DriverManager.getConnection(url, userId,
        password);
    return new DatabaseConnection(connection, schema);
  }
  °Ê²¼setter¤Ê¤Î¤Ç¾Êά
}

¤³¤Îµ­»ö¤Ï

ÁªÂò»è Åêɼ
¤ª¤â¤·¤í¤«¤Ã¤¿ 8  
¤½¤¦¤Ç¤â¤Ê¤¤ 1  
  • ¥µ¥¤¥º¤¬¤Ç¤«¤¤¤ÈOutOfMemoryError?¤È¤Ê¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¡¢´Ä¶­ÊÑ¿ôANT_OPTS¤Ë¥á¥â¥ê»ÈÍÑÎ̤òÀßÄꤷ¤è¤¦¡£ANT_OPTS¤ÏAnt¤ò¼Â¹Ô¤·¤Æ¤¤¤ëJava¤ÎVM°ú¿ô¤ß¤¿¤¤¤Ç¤¹¡£ -- ¤­¤Î? 2006-12-17 23:56:30 (Æü)
  • Windows¤À¤È set ANT_OPTS=-Xmx512m¤Ê¤É¤Ç¤¹¡£Linux¤À¤Èexport¤Ç¤¹¤Í¡£

¤³¤Î¥Ú¡¼¥¸¤òdel.icio.us¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤ò¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤à¤Ï¤Æ¤Ê¥Ö¥Ã¥¯¥Þ¡¼¥¯ ¤³¤Î¥Ú¡¼¥¸¤òlivedoor ¥¯¥ê¥Ã¥×¤ËÄɲà ¤³¤Î¥Ú¡¼¥¸¤òYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯¤ËÄɲ䳤Υڡ¼¥¸¤ò´Þ¤àYahoo!¥Ö¥Ã¥¯¥Þ¡¼¥¯
Top / Java / Ant / DB¤òExcel¤ËExport¤¹¤ëAnt¥¿¥¹¥¯

¸½ºß¤Î¥¢¥¯¥»¥¹:10806


¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2012-02-09 (ÌÚ) 17:56:30 (100d)