%% 
%%  A DANTE-Edition example
%% 
%%  Example 06-00-46 on page 212.
%% 
%%  Copyright (C) 2010 Herbert Voss
%% 
%%  It may be distributed and/or modified under the conditions
%%  of the LaTeX Project Public License, either version 1.3
%%  of this license or (at your option) any later version.
%% 
%%  See http://www.latex-project.org/lppl.txt for details.
%% 
%% 
%% ==== 
% Show page(s) 1
%% 
\documentclass[]{article}
\pagestyle{empty}
\setlength\textwidth{375.57637pt}
\setlength\parindent{0pt}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\usepackage{datatool}
\usepackage{eurosym,booktabs}
\DTLsetseparator{;}
\DTLsetnumberchars{}{,}
\DTLsetdefaultcurrency{\texteuro~}
\DTLloaddb{list}{data/data2d.csv}
\DTLsort{lastname,firstname}{list}
\DTLsumforkeys{list}{topay}{\debit}
\DTLsumforkeys{list}{paid}{\credit}

\begin{document}
\small\addtolength\tabcolsep{-1pt}
\begin{tabular}{@{} r llll rr @{}}\toprule
ID & first name & last name & street & city & to pay & paid \\\midrule
\DTLforeach{list}{% defined list elements
 \first=firstname,\last=lastname,\address=street,
 \town=city,\fee=topay,\paid=paid}{%
    \\ \theDTLrowi & \first & \last & \address & \town & \euro\, %
       \DTLifcurrency {\fee} % if \fee is a currency
         {\DTLconverttodecimal{\fee}{\fee} % then convert to decimal
                                           % and save the converted value in
                                           % \fee
           {\fee}} % output the value of \fee
         {\fee}    % if no currency, then only output
  & \euro\, \DTLifcurrency{\paid}% if \paid is a currency
    {\DTLconverttodecimal{\paid}{\paid}{\paid}} % then convert
    {\paid}} \\\midrule                         % else output \paid
& & & & & \DTLdecimaltocurrency{\debit}{\debit}\euro\,\debit& %
\DTLdecimaltocurrency{\credit}{\credit}\euro\,\credit \\\bottomrule
\end{tabular}
\end{document}
