Update with minimal and maximal values
Minimal values are only usable when negative values are disabled (\negativeValuesfalse).
Code
\documentclass{article}
\usepackage[table]{xcolor}% http://ctan.org/pkg/xcolor
\usepackage{tikz,array,collcell}
\usetikzlibrary{calc}
\pgfdeclarelayer{background}
\pgfdeclarelayer{main}
\pgfsetlayers{background,main}
\newif\ifnegativeValues
\newcommand{\tikzMe}[1]{%
\tikz[baseline]{
\node[anchor=base,text width=\minWidth,align=\alignment,inner sep=0pt,inner xsep=\tabcolsep,outer sep=0pt] (n) {\strut$#1$};
\begin{pgfonlayer}{background}
\ifnegativeValues
\pgfmathparse{#1<0?"red!50":"green!25"}
\edef\color{\pgfmathresult}
\else
\def\color{green!25}
\fi
\pgfmathparse{abs((#1-\minValue)/(\maxValue-\minValue))}
\fill[color=\color] (n.north west) rectangle ($(n.south west)!\pgfmathresult!(n.south east)$);
\end{pgfonlayer}
}
}
%\negativeValuestrue % inserts a minus sign for the minWidth and use red for negative values
\negativeValuesfalse % doesn't insert a minus sign, uses only green
\newcolumntype{H}[3]{%
@{}
>{%
\ifx\\#1\\\def\alignment{right}\else\def\alignment{#1}\fi%
\ifnegativeValues\def\minValue{0.}\else\def\minValue{#2}\fi%
\def\maxValue{#3}%
\def\minWidth{\widthof{$\ifnegativeValues-\fi#3$}}%
\collectcell\tikzMe%
}c<{\endcollectcell}
@{}}
\begin{document}
\begin{tabular}{|H{}{10.}{100.00}|H{}{2.}{105.00}|H{}{0.}{150.00}|}
\hline
10.0 & 2.00 & 0.00 \\
15.49 & 13.82 & 100.00 \\
100.00 & 105.00 & 150.00 \\ \hline
\end{tabular}
\end{document}
Output

Old answer
Code
\documentclass{article}
\usepackage[table]{xcolor}% http://ctan.org/pkg/xcolor
\usepackage{tikz,array,collcell}
\usetikzlibrary{calc}
\pgfdeclarelayer{background}
\pgfdeclarelayer{main}
\pgfsetlayers{background,main}
\newcommand*{\minWidth}{\widthof{$-100.00$}}
\newcommand*{\maxValue}{100}
\newcommand{\tikzMeL}[1]{\tikzMe{#1}{left}}
\newcommand{\tikzMeC}[1]{\tikzMe{#1}{center}}
\newcommand{\tikzMeR}[1]{\tikzMe{#1}{right}}
\newcommand{\tikzMe}[2]{%
\tikz[baseline]{
\node[anchor=base,text width=\minWidth,align=#2,inner sep=0pt,inner xsep=\tabcolsep,outer sep=0pt] (n) {\strut$#1$};
\begin{pgfonlayer}{background}
\pgfmathparse{#1<0?"red!50":"green!25"}
\edef\color{\pgfmathresult}
\pgfmathparse{abs(#1/\maxValue)}
\fill[color=\color] (n.north west) rectangle ($(n.south west)!\pgfmathresult!(n.south east)$);
\end{pgfonlayer}
}
}
\newcolumntype{L}{@{}>{\collectcell\tikzMeL}c<{\endcollectcell}@{}}
\newcolumntype{C}{@{}>{\collectcell\tikzMeC}c<{\endcollectcell}@{}}
\newcolumntype{R}{@{}>{\collectcell\tikzMeR}c<{\endcollectcell}@{}}
\begin{document}
\begin{tabular}{|L|C|R|} \hline
91.41 & 100.00 & 38.76 \\
-15.49 & -13.82 & -100.00 \\
57.11 & 51.21 & -42.84 \\ \hline
\end{tabular}
\end{document}
Output
