The best way to teach them is through consistent disincentivization.
The rule in our house is that the cats are allowed to be on the kitchen table, but not the kitchen counter (the two are adjacent).
The second they touch the kitchen counter, I push them off. However, I don't just push them towards the table, but rather to the ground.
Think of it this way: If the punishment for trying to steal money (and getting caught) would be to give back the stolen money and nothing more, then there's no drawback to stealing money and trying to get away with it.
However, if the punishment consists of undoing the crime (giving back the money) and an additional punishment (paying a hefty fine or going to jail), then there is a good reason to not try and steal money.
I apply the same rule to the cats. If you commit a crime (walking on the kitchen counter), I will undo the crime (pushing them off) add an extra punishment (losing table privileges).
I generally only keep them from the table for 30 seconds. Cats don't register long term punishments, I can't be bothered to police the table, and the point is made clear: overreaching causes you to lose a lot more than you stood to gain.
The same is true of the couch. They're allowed to be on the couch, but they're not allowed to be on the tables (which we use when eating).
Initially, my girlfriend would bar them from the couch whenever we were eating. But this ended up sending mixed messages; the cats were never sure if they were allowed on the couch or not (thus making them hesitant to come to us, even when asking them to).
So I changed the rules. They get to be on the couch, but the moment they touch the table, I push them off the couch. Even our youngest, who doesn't quite follow rules yet, very quickly identified that it's better to at least get to look at and sniff the food (at a distance), compared to sitting on the cold floor.
Consistency is incredibly important, if you want your cat to learn something. If you only enforce a rule when you can be bothered to enforce it, then the cat will not realize that the punishment is the effect of the misbehavior (cause), but instead will infer that you're a loose cannon that punishes (otherwise acceptable behavior) erratically.
This is auxiliary to making the consistency more clear.
If you're able to immediately change from happy to strict, the second the cat jumps on the table, and you immediately return to a happy state when the cat is off the table; you make it very clear to the cat that their actions impact the mood of the room (especially if multiple humans do it at the same time).
This may not help for cats who aren't bonded to humans. However, you mention that your cat is playful, which suggests that she interacts with you, and is therefore also aware of (and cares about) your behavior, since she wants you to interact (play) with her.
It's exactly because they want that interaction with you, that making yourself unavailable for interaction (by being upset with them) is a negative consequence; it achieves the opposite of what the cat wants.
Painting an extreme example:
Whenever your cat physically touches the table, you scream your lungs out (not directed at the cat, just in general). Whenever your cat does not physically touch the table, you are quiet.
Today, the cat wants to sleep. In silence. It is aware of you consistently screaming when it's on the table, and it cannot prevent that from happening.
Do you think the cat will decide to go sleep on the table?
Of course I don't advocate screaming; but the point of the example is that an unwanted yet inevitable consequence to the cat's misbehavior makes it very clear that the cat should avoid specific (mis)behavior if it wants to avoid the inevitable consequences of that behavior.
The only thing that takes time, is teaching the cat that the cause and effect are connected. And they can only learn that through consistent experiences.
Notice that in the screaming example, you are not even telling the cat that it shouldn't be on the table. You are merely attaching a consequence to being on the table, and you of course intentionally picked a consequence that the cat disliked (but the cat doesn't know that).
The cat makes its own decision to not be on the table, because it is aware of the consequence.
Getting them off the table
The point is, she feels it's a game: when I push her down, she starts getting up again on the other end of the table with her playful look, on alert. She will continue this again and again, a dozen of times or more.
You're undoing her crime, but not adding an additional punishment on top.
In order to learn something, the cat must experience a negative consequence to their misbehavior. This doesn't need to be excessive, but it does need to at least inconvenience the cat.
If she responds to you playfully, she's clearly not feeling inconvenienced or punished.
You'll need to find what works for your cat. Some cats get the message when you put more force into it when pushing them (not angrily or violently, but firmly). Others respond to a loud "No". Others need a bang (e.g. smacking your hand on the table).
What I suggest you do it slowly escalate. First state their name. Then say no. Then push her off. If she resists, say no again (louder) and push a bit harder. If she keeps fighting you, pick her up and forcefully (but calmly) remove her.
Over time, the cat will learn your escalation pattern. And in order to avoid the escalation (e.g. if she hates being picked up), she will learn to comply faster and avoid the escalation.
Our youngest is now at the point where disapprovingly stating his name gets him to reconsider. He even listens when he's doing something that he hasn't ever done before (and therefore has no experience being told off), which proves that he has learned the inevitable consequences of ignoring my verbal feedback.
Sometimes I will just let her on the table because I see there's nothing on the table and I don't feel like fighting (usually when I'm at the other end of the room, and if I push her down she'll wait for me to sit down before getting again on the table, again and again…).
This is an issue of consistency. Is the cat allowed on the table, or is it not?
You need to make sure that the distinction between these two is easy to make. The cat can't distinguish between e.g. allowing it on the table when there's random papers on the table, but not allowing it on the table when there's an important paper on the table.
However, there are other ways to signal what is and isn't allowed. When I was a child, our cats were allowed on the table. During dinner time, we would cover the table, but only partially (large table, small family).
Enforcing a "no cats on the table when we're eating" rule didn't work. They were allowed on the table when e.g. I was doing my homework there, and they couldn't distinguish dinner from homework in that sense.
So the rule changed. They were allowed on the table, but not on the table cover. They were allowed to sit on the uncovered part, and would not get told off unless she touched the table cover.
Since we were able to consistently enforce this rule for many years, without ever making an exception, we had solved the problem. There were a rare few cases where we didn't want the cat on the table at other times. We put the cover on the table, and the cats never even tried to get on it.