Different font sizes for different rows in table

You can use the package tabu which provides the command \rowfont:

\documentclass{article}
\usepackage{tabu}
\begin{document}
\begin{tabu}{ll}
\rowfont{\scriptsize}
Hello & World \\
Foo & Bar \\
\rowfont{\huge}
Hello & World
\end{tabu}
\end{document}

I tested all other methods above with packages but I found this simple method by David most useful -- actually I got all kind of malfunctioning with other answers such as only one element in a row changed the size of the text and so on, this may be due to rotating's sidewaystable but anyway -- this most simplest method works!

\footnotesize \begin{tabular} then \normalsize\bfseries hello for the title

and other fontsizes contain \tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge and \Huge. More in here.


Creating your own \rowfont{<font>} switch is also possible.

Using the array package, you can insert elements in front of every column via the definition of a new column type. This insertion helps span the group associated with each tabular cell.

enter image description here

\documentclass{article}
\usepackage{array}% http://ctan.org/pkg/array
\makeatletter
\g@addto@macro{\endtabular}{\rowfont{}}% Clear row font
\makeatother
\newcommand{\rowfonttype}{}% Current row font
\newcommand{\rowfont}[1]{% Set current row font
   \gdef\rowfonttype{#1}#1%
}
\newcolumntype{L}{>{\rowfonttype}l}
\begin{document}
\begin{tabular}{LL}
  \rowfont{\scriptsize}%
  Hello & World \\
  \rowfont{\normalsize}%
  Foo & Bar \\
  \rowfont{\huge}%
  Hello & World
\end{tabular}
\end{document}

\rowfont{<font>} globally (re)defines \rowfonttype, and also inserts it into the current cell. Resetting the font is required in a subsequent row (via \rowfont{\normalsize} or otherwise).

End-of-tabular resetting is automated by appending \rowfont{} to \endtabular.