/// <summary>
        /// wf_30017down
        /// </summary>
        /// <param name="asYmd"></param>
        /// <param name="ws"></param>
        /// <returns></returns>
        protected int wf_30017down(string asYmd, Worksheet ws)
        {
            try {
                string rptName = "本公司及周邊單位市場交易速報表";
                string rptId   = "30017down";

                // 讀取資料
                DataTable dt30017down = dao30017.d_30017down(asYmd);
                if (dt30017down.Rows.Count == 0)
                {
                    MessageDisplay.Info(txtSDate.Text + "," + rptId + '-' + rptName + ",無任何資料!");
                    return(0);
                }
                ShowMsg(rptId + '-' + rptName + " 轉檔中...");

                // 填入資料
                int     f, liDays, liFut, liOpt, liAll;
                decimal ldFutQnty, ldOptQnty, ldQnty;
                liAll = -1;
                liFut = -1;
                liOpt = -1;
                for (f = 0; f < dt30017down.Rows.Count; f++)
                {
                    DataRow dr = dt30017down.Rows[f];
                    switch (dr["AI8_PROD_TYPE"].ToString())
                    {
                    case " ":
                        liAll = f;
                        break;

                    case "F":
                        liFut = f;
                        break;

                    case "O":
                        liOpt = f;
                        break;
                    }
                }
                int rowNum = 61;
                // 預計交易天數
                string lsStr = asYmd.SubStr(0, 4);
                liDays = dao30017.am7tDayCount(lsStr);
                ws.Cells[rowNum, 20].Value = liDays;
                ws.Cells[rowNum, 16].Value = liDays - dt30017down.Rows[liAll]["AI8_YEAR_DAYS"].AsInt();
                if (liFut >= 0)
                {
                    ws.Cells[rowNum, 13].SetValue(dt30017down.Rows[liFut]["AVG_MTH"]);
                    ws.Cells[rowNum, 17].SetValue(dt30017down.Rows[liFut]["AI8_YEAR_QNTY"]);
                }
                if (liOpt >= 0)
                {
                    ws.Cells[rowNum + 1, 13].SetValue(dt30017down.Rows[liOpt]["AVG_MTH"]);
                    ws.Cells[rowNum + 1, 17].SetValue(dt30017down.Rows[liOpt]["AI8_YEAR_QNTY"]);
                }
                if (liAll >= 0)
                {
                    ws.Cells[rowNum + 2, 13].SetValue(dt30017down.Rows[liAll]["AVG_MTH"]);
                    ws.Cells[rowNum + 2, 17].SetValue(dt30017down.Rows[liAll]["AI8_YEAR_QNTY"]);
                }

                //
                rowNum = 57;
                lsStr  = "註1:";
                lsStr  = lsStr + (txtSDate.DateTimeValue.Year - 1911) + "年度預計有" +
                         liDays.AsString() + "個交易日,已交易" +
                         dt30017down.Rows[liAll]["AI8_YEAR_DAYS"].AsInt() + "日,";
                lsStr     = lsStr + "共計成交" + dt30017down.Rows[liAll]["AI8_YEAR_QNTY"].AsDecimal().ToString("#,##0.##") + "口";
                ldQnty    = 0;
                ldFutQnty = 0;
                ldOptQnty = 0;
                if (liAll >= 0)
                {
                    ldQnty = dt30017down.Rows[liAll]["AVG_YEAR"].AsDecimal();
                }
                if (liFut >= 0)
                {
                    ldFutQnty = dt30017down.Rows[liFut]["AVG_YEAR"].AsDecimal();
                }
                if (liOpt >= 0)
                {
                    ldOptQnty = dt30017down.Rows[liOpt]["AVG_YEAR"].AsDecimal();
                }
                lsStr = lsStr + "【日均量" + ldQnty.ToString("#,##0.##") + "口(";
                lsStr = lsStr + "期貨日均量" + ldFutQnty.ToString("#,##0.##") + "口,占比:" + (ldFutQnty / ldQnty * 100).ToString("#0.0#") + "%、";
                lsStr = lsStr + "選擇權日均量" + ldOptQnty.ToString("#,##0.##") + "口,占比:" + (100 - (ldFutQnty / ldQnty * 100)).ToString("#0.0#") + "%)】。";
                lsStr = lsStr + "\r" + "\n";

                //
                lsStr = lsStr + "   " + (txtSDate.DateTimeValue.Year - 1911 - 1) + "年度同期(交易天數" +
                        dt30017down.Rows[liAll]["AI8_LAST_YEAR_DAYS"].AsInt() + "天)";
                lsStr     = lsStr + dt30017down.Rows[liAll]["AI8_LAST_YEAR_QNTY"].AsDecimal().ToString("#,##0.##") + "口";
                ldQnty    = 0;
                ldFutQnty = 0;
                ldOptQnty = 0;
                if (liAll >= 0)
                {
                    ldQnty = dt30017down.Rows[liAll]["AVG_LAST_YEAR"].AsDecimal();
                }
                if (liFut >= 0)
                {
                    ldFutQnty = dt30017down.Rows[liFut]["AVG_LAST_YEAR"].AsDecimal();
                }
                if (liOpt >= 0)
                {
                    ldOptQnty = dt30017down.Rows[liOpt]["AVG_LAST_YEAR"].AsDecimal();
                }
                lsStr = lsStr + "【日均量" + ldQnty.ToString("#,##0.##") + "口(";
                lsStr = lsStr + "期貨日均量" + ldFutQnty.ToString("#,##0.##") + "口,占比:" + (ldFutQnty / ldQnty * 100).ToString("#0.0#") + "%、";
                lsStr = lsStr + "選擇權日均量" + ldOptQnty.ToString("#,##0.##") + "口,占比:" + (100 - (ldFutQnty / ldQnty * 100)).ToString("#0.0#") + "%)】,";
                lsStr = lsStr + "\r" + "\n";

                //
                lsStr = lsStr + "   另達成" + (txtSDate.DateTimeValue.Year - 1911 - 1) + "年度" +
                        dt30017down.Rows[liAll]["AI8_LAST_ALL_YEAR_DAYS"].AsInt() + "個交易日,";
                lsStr     = lsStr + "全年成交" + dt30017down.Rows[liAll]["AI8_LAST_ALL_YEAR_QNTY"].AsDecimal().ToString("#,##0.##") + "口";
                ldQnty    = 0;
                ldFutQnty = 0;
                ldOptQnty = 0;
                if (liAll >= 0)
                {
                    ldQnty = dt30017down.Rows[liAll]["AVG_LAST_ALL_YEAR"].AsDecimal();
                }
                if (liFut >= 0)
                {
                    ldFutQnty = dt30017down.Rows[liFut]["AVG_LAST_ALL_YEAR"].AsDecimal();
                }
                if (liOpt >= 0)
                {
                    ldOptQnty = dt30017down.Rows[liOpt]["AVG_LAST_ALL_YEAR"].AsDecimal();
                }
                lsStr = lsStr + "【日均量" + ldQnty.ToString("#,##0.##") + "口(";
                lsStr = lsStr + "期貨日均量" + ldFutQnty.ToString("#,##0.##") + "口,占比:" + (ldFutQnty / ldQnty * 100).ToString("#0.0#") + "%、";
                lsStr = lsStr + "選擇權日均量" + ldOptQnty.ToString("#,##0.##") + "口,占比:" + (100 - (ldFutQnty / ldQnty * 100)).ToString("#0.0#") + "%)】。";
                lsStr = lsStr + "\r" + "\n";

                //
                ws.Cells[rowNum, 0].Value = lsStr;

                //
                rowNum = rowNum + 1;
                lsStr  = "註2:";
                lsStr  = lsStr + (txtSDate.DateTimeValue.Year - 1911) + "年" +
                         (txtSDate.DateTimeValue.Month) + "月份預計有" + PbFunc.f_calc_mth_trade_days(asYmd.SubStr(0, 6)) + "個交易日,";
                lsStr     = lsStr + "已交易" + dt30017down.Rows[liAll]["AI8_MTH_DAYS"].AsInt() + "日,";
                lsStr     = lsStr + "共計成交" + dt30017down.Rows[liAll]["AI8_MTH_QNTY"].AsDecimal().ToString("#,##0.##") + "口";
                ldQnty    = 0;
                ldFutQnty = 0;
                ldOptQnty = 0;
                if (liAll >= 0)
                {
                    ldQnty = dt30017down.Rows[liAll]["AVG_MTH"].AsDecimal();
                }
                if (liFut >= 0)
                {
                    ldFutQnty = dt30017down.Rows[liFut]["AVG_MTH"].AsDecimal();
                }
                if (liOpt >= 0)
                {
                    ldOptQnty = dt30017down.Rows[liOpt]["AVG_MTH"].AsDecimal();
                }
                lsStr = lsStr + "【日均量" + ldQnty.ToString("#,##0.##") + "口(";
                lsStr = lsStr + "期貨日均量" + ldFutQnty.ToString("#,##0.##") + "口,占比:" + (ldFutQnty / ldQnty * 100).ToString("#0.0#") + "%、";
                lsStr = lsStr + "選擇權日均量" + ldOptQnty.ToString("#,##0.##") + "口,占比:" + (100 - (ldFutQnty / ldQnty * 100)).ToString("#0.0#") + "%)】。";
                lsStr = lsStr + "\r" + "\n";

                //
                lsStr     = lsStr + "   " + (txtSDate.DateTimeValue.Year - 1911 - 1) + "年度" + (txtSDate.DateTimeValue.Month) + "月份";
                lsStr     = lsStr + "共計成交" + dt30017down.Rows[liAll]["AI8_LAST_ALL_MTH_QNTY"].AsDecimal().ToString("#,##0.##") + "口(";
                ldFutQnty = 0;
                if (liFut >= 0)
                {
                    ldFutQnty = dt30017down.Rows[liAll]["AVG_LAST_ALL_MTH"].AsDecimal();
                }
                if (ldFutQnty > 0)
                {
                    lsStr = lsStr + "日均量" + ldFutQnty.ToString("#,##0.##") + "口),日均量比值約為" + (ldQnty / ldFutQnty * 100).ToString("#0.0#") + "%。";
                }

                //
                ws.Cells[rowNum, 0].Value = lsStr;

                return(1);
            } catch (Exception ex) {
                WriteLog(ex);
            }
            return(0);
        }