You can do this with the collcell package which allows you to pass the entry of each column to a command for further processing:

Below I have defined two new column types. The H column type is for the header column, and the E column type is for the exponent column. The middle column is just a normal l, but with a @{} to remove the column separation between this column and the subsequent column containing the exponent.
References:
A previous answer of mine customize the “cell environment” in a tabular also shows:
How to use the array package, which can definitely accommodate the header column with
\newcolumntype{H}{>{\bfseries}l<{:}}%
but not sure how to get the superscript column to work.
A method which does not require any additional packages, by defining a macro to process each row. But, this requires changing each row of the table.
Code:
\documentclass{article}
\usepackage{collcell}
\newcommand{\HeaderColumn}[1]{\textbf{#1:}}
\newcommand{\ExponentColumn}[1]{${}^{#1}$}%
\newcolumntype{H}{>{\collectcell\HeaderColumn}{l}<{\endcollectcell}}
\newcolumntype{E}{>{\collectcell\ExponentColumn}{l}<{\endcollectcell}}
\begin{document}
\begin{tabular}{H l@{} E}
l1c1 & l1c2 & l1c3 \\
l2c1 & l2c2 & l2c3
\end{tabular}
\end{document}