blob: c8f266d739a02871d4daa31b303f62f1d94fb392 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
% This file is public domain.
\documentclass[captions=tableheading]{scrartcl}
\usepackage{datatool}
\DTLloaddb{scores}{sample-student-records.csv}
% Sort by surname then first name
\DTLsort{Surname,First Name}{scores}
\begin{document}
\begin{table}[htbp]
\caption{Two database rows per tabular row}
\centering
\begin{tabular}{llcllc}
\bfseries First Name &
\bfseries Surname &
\bfseries Assignment 1 (\%) &
\bfseries First Name &
\bfseries Surname &
\bfseries Assignment 1 (\%)%
\DTLforeach*{scores}{\firstname=First Name,\surname=Surname,\score=Assignment 1}{%
\DTLifoddrow{\\}{&}%
\firstname & \surname & \score}%
\end{tabular}
\end{table}
\begin{table}[htbp]
\caption{Two database rows per tabular row (column-wise)}
\centering
% store half number of rows
\edef\maxrows{\DTLrowcount{scores}}%
\DTLdiv{\halfrowidx}{\maxrows}{2}
\begin{tabular}{llcllc}
\bfseries First Name &
\bfseries Surname &
\bfseries Assignment 1 (\%) &
\bfseries First Name &
\bfseries Surname &
\bfseries Assignment 1 (\%)%
\DTLforeach*[\value{DTLrowi}<\halfrowidx]{scores}%
{\firstname=First Name,\surname=Surname,\score=Assignment 1}%
{%
\\%
\firstname & \surname & \score
&
\edef\currentrowidx{\arabic{DTLrowi}}%
\DTLadd{\rowidxII}{\halfrowidx}{\currentrowidx}%
\DTLassign{scores}{\rowidxII}{\firstnameII=First Name,\surnameII=Surname,\scoreII=Assignment 1}%
\firstnameII & \surnameII & \scoreII
}%
\end{tabular}
\end{table}
\end{document}
|