//
        //private func
        //

        private bool TableFillIn(int[] rValidColArr, TableRowWriteFunc rOperatorFunc, Worksheet rWs)
        {
            bool bResult = true;

            for (int nRowNum = 2; nRowNum <= rWs.UsedRange.Rows.Count; ++nRowNum)
            {
                string[] rValidStrArr = getRowValidData(rValidColArr, nRowNum, rWs);
                bResult = rOperatorFunc(ref rValidStrArr) && bResult;
                setRowValidData(rValidColArr, nRowNum, rWs, ref rValidStrArr);
            }
            return(bResult);
        }
        //brief
        //继承自ExcelOperator
        //提供主题配置需求初版excel表格的填写支持逻辑
        //
        public void excelFillIn(string szPath, TableRowWriteFunc rOperatorFunc, ref string szError)
        {
            //打开excel
            openExcel(szPath);
            Workbook rWorkbook   = getWorkbook();
            Sheets   rWorkSheets = rWorkbook.Worksheets;
            bool     rNoError    = true;

            try
            {//每个工作表都查 索引从1开始
                for (int index = 1; index <= rWorkSheets.Count; ++index)
                {
                    Worksheet rWs = (Worksheet)rWorkSheets[index];
                    if (rWs.Name == "系列套装配置")
                    {//系列套装配置表
                        int[] rValidColArr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
                        rNoError = TableFillIn(rValidColArr, rOperatorFunc, rWs) && rNoError;
                    }
                    else if (rWs.Name == "系列套装部件产出途径文本预设及系列碎片产出文本")
                    {//表
                        int[] rValidColArr = { 1, 2, 4, 5 };
                        rNoError = TableFillIn(rValidColArr, rOperatorFunc, rWs) && rNoError;
                    }
//                     else if (rWs.Name == "额外奖励配置")
//                     {//额外奖励配置表
//                         int[] rValidColArr = { 1, 2, 3, 4, 5, 6};
//                         rNoError = TableFillIn(rValidColArr, rOperatorFunc, rWs) && rNoError;
//                     }
                }
                //xmlFunc
            }
            catch (Exception ex)
            {
                szError = ex.ToString() + "\n";
            }
            finally
            {
                //关闭excel
            }
        }