/// <summary>
        /// RowIndex判斷
        /// </summary>
        /// <param name="RowIndex"></param>
        /// <param name="StartDate"></param>
        /// <param name="dt"></param>
        /// <param name="condition"></param>
        /// <returns></returns>
        private int ConditionRowIndex(int RowIndex, DateTime StartDate, DataTable dt, Condition30350 condition)
        {
            switch (condition)
            {
            case Condition30350.sheet30350four:
                //與輸入月份相同則空一列
                if (StartDate.ToString("yyyy/MM") == _emMonthText)
                {
                    RowIndex = RowIndex + 1;
                }
                //沒有前月份,則空一列
                //PB這段怪怪的,照PB邏輯這條件都會是true,改寫成直接+1
                RowIndex = RowIndex + 1;
                break;

            case Condition30350.RowIndexAddOne:
                //沒有前月份,則空一列
                //PB這段怪怪的,照PB邏輯這條件都會是true,改寫成直接+1
                RowIndex = RowIndex + 1;
                break;

            case Condition30350.NoLastDay:
                //無上月最後1天資料
                if (dt.Rows.Count > 0 && StartDate.ToString("yyyyMMdd") != dt.Rows[0]["AI2_YMD"].AsString())
                {
                    RowIndex = RowIndex + 1;
                }
                break;

            case Condition30350.NoLastMonth:
                //沒有前月份,則空一列
                if (dt.Rows.Count > 0 && dt.Rows[0]["AI2_YMD"].AsString().SubStr(0, 6) != StartDate.ToString("yyyyMM"))
                {
                    RowIndex = RowIndex + 1;
                }
                break;

            case Condition30350.NoCondition:
                break;
            }
            return(RowIndex);
        }
 /// <summary>
 /// 寫入 30358 datawindow 資料源
 /// </summary>
 /// <param name="RowIndex">起始行位</param>
 /// <param name="RowTotal">預留要使用的行數</param>
 /// <param name="IsKindID">KindID</param>
 /// <param name="SheetName">工作表</param>
 /// <param name="RptName">執行作業名稱</param>
 /// <returns></returns>
 public string DataFrom30358(int RowIndex, int RowTotal, string IsKindID, string SheetName, string RptName, Condition30350 Condition = Condition30350.NoCondition)
 {
     try {
         //讀取資料
         DataTable dt = dao30350.Get30358Data(IsKindID, _StartDate.ToString("yyyyMMdd"), _EndDate.ToString("yyyyMMdd"));
         if (dt.Rows.Count <= 0)
         {
             return($"{_StartDate.ToShortDateString()}~{_EndDate.ToShortDateString()},{SheetName}-{RptName},無任何資料!");
         }
         //行數寫入起始條件
         RowIndex = ConditionRowIndex(RowIndex, _StartDate, dt, Condition);
         //儲存寫入sheet
         WriteSheet(SheetName, dt, RowIndex, RowTotal);
     }
     catch (Exception ex) {
         throw ex;
     }
     return(MessageDisplay.MSG_OK);
 }