protected void btnDownload_Click(object sender, EventArgs e)
    {
        if (viewsListBox.SelectedIndex < 0)
        {
            Master.ShowMessage("Select an item from list of data!");
            return;
        }

        string ext_id = viewsListBox.SelectedValue.ToString();
        string sql_code;

        string FormatID    = WebTools.GetExpr("FORMAT_ID", "EXTERNAL_DATA", "EXT_ID=" + ext_id);
        string DateWise    = WebTools.GetExpr("DATE_WISE", "EXTERNAL_DATA", "EXT_ID=" + ext_id);
        string IsoWise     = WebTools.GetExpr("ISO_WISE", "EXTERNAL_DATA", "EXT_ID=" + ext_id);
        string strFileName = WebTools.GetExpr("EXT_DATA", "EXTERNAL_DATA", "EXT_ID=" + ext_id);
        string strOrderBy  = WebTools.GetExpr("ORDER_BY", "EXTERNAL_DATA", "EXT_ID=" + ext_id);

        string FilterByID = FilterByList.SelectedValue.ToString();

        string FilterValue;

        if (FilterByList.SelectedValue.ToString() == "2")
        {
            FilterValue = txtFilterValue.Text;
        }
        else
        {
            FilterValue = ddFilterValue.SelectedItem.Text;
        }

        // add date to file-name
        if (FilterByID == "1" && !string.IsNullOrEmpty(FilterValue))
        {
            strFileName += " " + DateTime.Parse(ddFilterValue.SelectedValue.ToString()).ToString("yyyymmdd");
        }

        if (FormatID == "1")
        {
            // Text
            strFileName = strFileName + ".txt";
            sql_code    = WebTools.GetExpr("EXP_SQL", "VIEW_EXT_DATA_HD", "EXT_ID=" + ext_id);
        }
        else
        {
            // Excel
            strFileName = strFileName + ".xlsx";
            sql_code    = WebTools.GetExpr("EXP_SQL_EXL", "VIEW_EXT_DATA_HD", "EXT_ID=" + ext_id);
        }

        if (DateWise == "Y" && FilterByID == "1")
        {
            sql_code += " AND EXPORT_DATE='" + FilterValue + "'";
        }
        else if (FilterByID == "2" && IsoWise == "Y")
        {
            sql_code += " AND ISO_TITLE1='" + FilterValue + "'";
        }
        else if (FilterByID == "3" && IsoWise == "Y")
        {
            sql_code += " AND DWG_TRANS_NO='" + FilterValue + "'";
        }

        if (strOrderBy != "")
        {
            sql_code += " " + strOrderBy;
        }


        string strFilePath = WebTools.SessionDataPath() + strFileName;

        if (FormatID == "1")
        {
            CreateTextFile(strFilePath, sql_code);
        }
        else if (FormatID == "2")
        {
            ExcelImport.ExportToExcelNopi(strFilePath, sql_code);
        }

        DownloadFile(strFilePath);
    }