Estou querendo criar tabelas com texto centralizados horizontalmente, a princípio com esse comando \begin{tabular}{|c|c|c|c|c|} que centraliza perfeitamente, porém quando queremos uma tabela mais elegante com células maiores devemos usar \begin{tabular}{|c|p{2cm}|p{2cm}|p{2cm}|p{2cm}|}, ou seja, retiramos o comando |c| que justamente me daria essa centralização, dessa forma como faço pra juntar esses comandos. Uma opção que encontrei foi colocar esse comando : \multicolumn{1}{c|} em cada ítem da tabela, mas fica cansativo caso deseje construir uma tabela maior.
\begin{table}[!htb]
\centering
%\caption{My caption}
\label{my-label}
\def\arraystretch{1.2}
\begin{tabular}{|c|p{2cm}|p{2cm}|p{2cm}|p{2cm}|}
\hline
\textbf{ANO} & \multicolumn{2}{c|}{\textbf{2017}} & \multicolumn{2}{c|}{\textbf{2018}} \\ \hline
\textbf{SEMESTRES} &\multicolumn{1}{c|}{\textbf {1º}} &\multicolumn{1}{c|} {\textbf{2º}} & \multicolumn{1}{c|}{\textbf{1º}} &\multicolumn{1}{c|} {\textbf{2º}} \\ \hline
REVISÃO BIBLIOGRÁFICA &\multicolumn{1}{c|} X &\multicolumn{1}{c|} X & \multicolumn{1}{c|}X &\multicolumn{1}{c|} X \\ \hline
ELABORAÇÃO DO PROJETO & \multicolumn{1}{c|}X &\multicolumn{1}{c|} X & & \\ \hline
ANÁLISE DE DADOS & & &\multicolumn{1}{c|} X & \\ \hline
REDAÇÃO DO ARTIGO & & & \multicolumn{1}{c|}X &\multicolumn{1}{c|} X \\ \hline
REDAÇÃO DA DISSERTAÇÃO & & & \multicolumn{1}{c|}X & \multicolumn{1}{c|}X \\ \hline
QUALIFICAÇÃO & & & & \multicolumn{1}{c|}X \\ \hline
DEFESA & \multicolumn{1}{l|}{} & \multicolumn{1}{l|}{} & &\multicolumn{1}{c|} X \\ \hline
\end{tabular}
\end{table}