public DataTable QueryStorRankForExcel(Hashtable htParams)
        {
            #region
            try
            {
                VDS_ALO_RANK_MAIN_DBO ALOR = new VDS_ALO_RANK_MAIN_DBO(ref USEDB);

                string strDynamicSQL = "";
                DataTable dtTemp = ALOR.doQueryAll();
                Int32 iRow = 0;

                foreach (DataRow dr in dtTemp.Rows)
                {
                    iRow++;

                    strDynamicSQL += string.Format(
                        "(select d1.rank_code from vds_alo_storerank_detl d1 where d1.rank_code='{0}' and d1.pid=d.pid) Rank{1}," +
                        "(select r5.NAME from vds_alo_storerank_detl d1 left join vds_alo_rank_main r5 ON (d1.rank_code = r5.code AND r5.ENABLE = 1)  where d1.rank_code='{0}' and d1.pid=d.pid) Rank名稱{1}," +
                        "(select d1.rank_value from vds_alo_storerank_detl d1 where d1.rank_code='{0}' and d1.pid=d.pid) 數值{1}," +
                        "(select d1.rank_level from vds_alo_storerank_detl d1 where d1.rank_code='{0}' and d1.pid=d.pid) 等級{1},", dr["CODE"], iRow);

                }



                if (strDynamicSQL.Trim() != "")
                {
                    strDynamicSQL = strDynamicSQL.Substring(0, strDynamicSQL.Length - 1);
                }


                htParams["DynamicSql"] = strDynamicSQL;



                VDS_ALO_STORERANK_MAIN_DBO ALOM = new VDS_ALO_STORERANK_MAIN_DBO(ref USEDB);
                return ALOM.doQueryForExcel(htParams);
            }
            catch (Exception ex)
            {
                throw GetNewException(ex);
            }
            #endregion
        }