This one uses matrix
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\tikzset{
table/.style={
matrix of nodes,
row sep=-\pgflinewidth,
column sep=-\pgflinewidth,
nodes={rectangle,minimum size = 1cm,align=center,inner sep=0pt},
text depth=1.25ex,
text height=2.5ex,
nodes in empty cells
},
}
\begin{document}
\begin{tikzpicture}
% the matrix entries
\matrix (mat) [table]
{
a & b & c & d \\
x & y & z & w \\
1 & 2 & 3 & 4 \\
r & g & t & u \\
};
\foreach \x in {1,...,4}
{
\draw[ultra thick]
([xshift=-.5\pgflinewidth]mat-\x-1.south west) --
([xshift=.5\pgflinewidth]mat-\x-4.south east);
}
\draw[ultra thick]
([xshift=-.5\pgflinewidth]mat-1-1.north west) --
([xshift=-.5\pgflinewidth]mat-1-4.north east);
\foreach \x in {1,...,4}
{
\draw[ultra thick]
([yshift=.5\pgflinewidth]mat-1-\x.north east) --
([yshift=.5\pgflinewidth]mat-4-\x.south east);
}
\draw[ultra thick]
([yshift=.5\pgflinewidth]mat-1-1.north west) --
([yshift=.5\pgflinewidth]mat-4-1.south west);
\end{tikzpicture}
\end{document}

Easier version in which
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\tikzset{
table/.style={
matrix of nodes,
row sep=-4\pgflinewidth, %% adjust
column sep=-4\pgflinewidth, %% adjust
nodes={draw, ultra thick,rectangle,minimum size = 1cm,align=center,inner sep=0pt},
text depth=1.25ex,
text height=2.5ex,
nodes in empty cells
},
}
\begin{document}
\begin{tikzpicture}
% the matrix entries
\matrix (mat) [table]
{
a & b & c & d \\
x & y & z & w \\
1 & 2 & 3 & 4 \\
r & g & t & u \\
};
\end{tikzpicture}
\end{document}
tabularenvironment may be what you are looking for. Consult any elementary text on LaTeX. – Steven B. Segletes Oct 23 '14 at 19:40