I feel your pain, BrotherMan. My sweetie one time decided to cut back on laundry expenses by wearing the same sox for a week. He was going for two, but the stench literally drove me out of the house.
As for your co-worker: this is a pretty straightforward problem, really. Her offensive body odor is interfering with your productivity. If you're friends with her and want to help her save face, I see two courses of action, depending on what level of communication you think the situation calls for. Either: 1) talk to her gently and discreetly (and PRIVATELY), or 2) drop an anonymous note on her desk. If it were me, I'd take the direct route and have the chat.
If you are not concerned about preserving a friendship, you could also have a frank discussion of the issue with your supervisor, and leave it to him/her to solve the body odor problem. It is interfering with your ability to do your job, after all. Basic hygiene is pretty much standard in the workplace, and it's not too much to ask people to keep their stank to themselves at work.