With {NiceTabular} of nicematrix, you only have to use the command \Block (provided by nicematrix).
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{ccccc}[hvlines]
A1 & A2 & A3 & A4 & A5 \
B1 & \Block[draw,line-width=1pt,transparent]{2-2}{}
B2 & B3 & B4 & B5 \
C1 & C2 & C3 & C4 & C5 \
D1 & D2 & D3 & D4 & D5 \
\end{NiceTabular}
\end{document}
The key transparent of the command \Block means that it is "transparent" to the vertical and horizontal rules created by the key hvlines of {NiceTabular}.

If you don't want instructions in the main array, you can draw the bold frame with TikZ in the so-called \CodeAfter by using the PGF/TikZ nodes creates by nicematrix.
\documentclass{article}
\usepackage{nicematrix,tikz}
\begin{document}
\begin{NiceTabular}{ccccc}[hvlines]
A1 & A2 & A3 & A4 & A5 \
B1 & B2 & B3 & B4 & B5 \
C1 & C2 & C3 & C4 & C5 \
D1 & D2 & D3 & D4 & D5 \
\CodeAfter
\tikz \draw [line width = 1pt] (2-|2) rectangle (4-|4) ;
\end{NiceTabular}
\end{document}
The output is the same.