public ExcelFormatTestReporter(final String fileName) {
        final Date date = new Date();
        final SimpleDateFormat formater = new SimpleDateFormat("yyyyMMddHHmmss");
        final String suffix = formater.format(date) + ".xls";
        final String generatedName;
        if ( fileName.endsWith(".xsl") ) {
            final int lastIndex = fileName.lastIndexOf(".xls");
            generatedName = fileName.substring(0, lastIndex) + suffix;
        } else {
            generatedName = fileName + suffix;
        }
        final File targetFile = new File(generatedName);
        log("Report File: " + targetFile.getAbsolutePath());
        if ( targetFile.exists() ) {
            throw new IllegalStateException();
        } else {
            try {
                if ( !targetFile.createNewFile() ) {
                    throw new IllegalStateException("Failed to create File: " + targetFile.getAbsolutePath());
                }
                targetOutputStream = new FileOutputStream(targetFile);
                workbook = new HSSFWorkbook();// Workbook.createWorkbook(targetOutputStream);
            } catch (IOException e) {
                throw new IllegalStateException(e);
            }
        }
    }