// 監査ログ.xls CSV変換スクリプト
@Grab('org.apache.poi:poi-ooxml:3.7')
import org.apache.poi.ss.usermodel.WorkbookFactory

////////////////////////////////////////////////////////////////////////
// ここから編集可能エリア
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
// 入力ファイル：監査ログのEXCELファイルパスを記載してください。
def inputFileName = "c:/アプリケーション一覧20111024.xls"
// 出力ファイル：インストールログ監視ツールをインストールしたディレクトリにおいて、監査ログが置かれているファイルパスを記載してください。（下記はc:\直下にツールをインストールした場合を想定）
def outputFileName = "C:/インストールログ監査ツール/tomcat6.0/webapps/inspection/WEB-INF/inport/audit.csv"
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
// ここまで編集可能エリア
////////////////////////////////////////////////////////////////////////


def inputFile = new File(inputFileName)

def book = WorkbookFactory.create(new FileInputStream(inputFile))
def sheet = book.getSheetAt(0)
def cell = { col, row ->
    sheet.getRow(row)?.getCell((short)col)
}

def list = []
for(int i in 1..65535) {
    if(!cell(0, i)?.stringCellValue) break;

    def variable = [:]
    variable.username = cell(0, i)?.stringCellValue
    variable.pcname = cell(1, i)?.stringCellValue
	variable.user = cell(2, i)?.stringCellValue
	variable.post1 = cell(3, i)?.stringCellValue
	variable.post2 = cell(4, i)?.stringCellValue
	variable.post3 = cell(5, i)?.stringCellValue
	variable.application = cell(6, i)?.stringCellValue
	variable.version = cell(7, i)?.stringCellValue
	variable.path = cell(8,i)?.stringCellValue
    list.add(variable)
}


new File(outputFileName).withWriter("SJIS") { writer ->

    list.each {
        writer.println("${it.username},${it.pcname},${it.user},${it.post1},${it.post2},${it.post3},${it.application},${it.version},${it.path}")
    }
}
