Easier than you might think to solve, even with pencil and paper. But sometimes a computer won't see the trick, at least, not without help. I've seen cases where that happens, but not here. Of course, since this is now an 8 year old, unanswered question. it may also be that dsolve has become smarter since it was originally posed too.
Here, I think it is possible the transcription error was Walter's fault in what he tried, because dsolve succeeds.
syms t y(t)
>> dsolve(diff(y(t), t) == (t-exp(-t))/(y(t)+exp(y(t))))
Warning: Unable to find explicit solution. Returning implicit solution instead.
> In dsolve (line 208)
solve(2*exp(y) + y^2 == 2*C8 + 2*exp(-t) + t^2, y)
So the solution is indeed an implicit euation. How would we arrive at it without the help of MATLAB? This is a separable equation, if you multiply by the denominators (y + exp(y))*dt. So we have the problem...
(y + exp(y)) dy = (t - exp(-t)) dt
Integrating each side, we get
y^2 / 2 + exp(y) = t^2 /2 + exp(-t) + C
If you now multiply by 2, you should see it is the same implicit problem returned by dsolve. C is of course an unknown constant of integration.