protected override void Execute(CodeActivityContext context)
        {
            DataTable  dataTable         = DataTable.Get(context);
            string     lookupValue       = LookupValue.Get(context);
            DataColumn dataColumn        = DataColumn.Get(context);
            DataColumn targetDataColumn  = TargetDataColumn.Get(context);
            Int32      columnIndex       = ColumnIndex.Get(context);
            Int32      targetColumnIndex = ColumnIndex.Get(context);
            string     columnName        = ColumnName.Get(context);
            string     targetColumnName  = TargetColumnName.Get(context);

            object cellValue = null;
            Int32  rowIndex  = 0;

            try
            {
                int beginIndex = 0, endInex = 0;

                DataColumn beginColumn = new DataColumn();
                if (dataColumn != null)
                {
                    beginIndex = dataTable.Columns.IndexOf(dataColumn);
                }
                else if (columnName != null && columnName != "")
                {
                    beginIndex = dataTable.Columns.IndexOf(columnName);
                }
                else
                {
                    beginIndex = columnIndex;
                }
                if (targetDataColumn != null)
                {
                    endInex = dataTable.Columns.IndexOf(targetDataColumn);
                }
                else if (targetColumnName != null && targetColumnName != "")
                {
                    endInex = dataTable.Columns.IndexOf(targetColumnName);
                }
                else
                {
                    endInex = targetColumnIndex;
                }

                if (beginIndex < 0 || endInex < 0 || beginIndex > endInex)
                {
                    SharedObject.Instance.Output(SharedObject.enOutputType.Error, "数据表列索引有误,请检查开始列与结束列");
                    return;
                }

                DataRowCollection dataRows = dataTable.Rows;
                for (int index = beginIndex; index < endInex; index++)
                {
                    foreach (DataRow datarow in dataRows)
                    {
                        object data    = datarow[index];
                        string dataStr = data as string;
                        if (dataStr.Equals(lookupValue))
                        {
                            rowIndex  = dataRows.IndexOf(datarow);
                            cellValue = data;
                            break;
                        }
                    }
                }
                if (CellValue != null)
                {
                    CellValue.Set(context, cellValue);
                }
                if (RowIndex != null)
                {
                    RowIndex.Set(context, rowIndex);
                }
            }
            catch (Exception e)
            {
                SharedObject.Instance.Output(SharedObject.enOutputType.Error, "查找数据表失败", e.Message);
            }
        }