Am I going down the right direction with this proof?
Theorem. Let $V$ be a vector space. If $V$ can be written as a direct sum of vector spaces $W_i\subset V$: $V=\bigoplus W_i$, then $V$ is isomorphic to the product $W_1\times \dots \times W_n$.
Proof. The required isomorphism is $$t:(w_1, \dots,w_n) \in W_1\times\dots \times W_n\to v=w_1+\dots + w_n\in V$$ Let $v=(w_1,\dots,w_n), u=((w_1)^\prime,\dots,(w_n)^\prime)$. It's a linear transformation: $$t(v)+t(u)=(\sum w_i)+(\sum (w_i)^\prime)=\sum (w_i+(w_i)^\prime)=(w_1+(w_1)^\prime,\dots, w_n+(w_n)^\prime)=t(v+u)$$ $$t(cv)=\sum cw_i=c\sum w_i=ct(v)$$ The map is surjective because $V$ is equal to a direct sum of the $W_i$'s so the image of $t$ is the whole space. It's injective because $t$ is a homomorphism whose kernel is trivial: $\ker t=\{(0,\dots,0)\}$. The kernel is trivial because the $W_i$'s are independent (By definition of independence of the subspaces, $\sum w_i=0 \implies w_i=0$ for all $i=1,\dots,n$).
Your injectivity proof is fine, and your linearity proof is almost fine. You should have $$\sum (w_i+(w_i)^\prime)=t(w_1+(w_1)^\prime,\dots, w_n+(w_n)^\prime)$$ instead of $$\sum (w_i+(w_i)^\prime)=(w_1+(w_1)^\prime,\dots, w_n+(w_n)^\prime).$$
Now, for surjectivity, you've really not quite justified it. Take any $v\in V$. Since $V=\bigoplus_{i=1}^n W_i,$ then $v=\sum_{i=1}^nw_i$ where $w_i\in W_i$ for each $1\le i\le n$. Then $(w_1,...,w_n)\in W_1\times\cdots\times W_n,$ and $t(w_1,...,w_n)=v,$ proving surjectivity.