Tabelle aus csv einbinden, mit Kopf, über mehrere Seiten

Tabellen und Grafiken erstellen und anordnen


esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Ansätze für Dein oberes Problem, wenn xcolor mit der table Option geladen ist:
 ...
       \DTLforeach*[\value{DTLrowi}<10]{CsvTabelle}{% 
       \SpI=Column1,\SpII=Column2,\SpIII=Column3,\SpIV=Column4,\SpV=Column5,\SpVI=Column6,\SpVII=Column7,\SpVIII=Column8,\SpIX=Column9,\SpX=Column10,\SpXI=Column11%
       }{% 
       \DTLiffirstrow{\\\midrule}{%
        \ifthenelse{\DTLiseq{\SpI}{3}\or\DTLiseq{\SpI}{6}}{\\\midrule}{%
          \ifthenelse{\DTLiseq{\SpI}{5}}{\\\rowcolor{green}}{\\}}}% 
       \SpI&\SpII&\SpIII&\SpIV&\SpV&\SpVI&\SpVII&\SpVIII% 
       }% 
       \DTLdeletedb{CsvTabelle} 
oder

 ...
      \DTLforeach*{CsvTabelle}{% 
       \SpI=Column1,\SpII=Column2,\SpIII=Column3,\SpIV=Column4,\SpV=Column5,\SpVI=Column6,\SpVII=Column7,\SpVIII=Column8,\SpIX=Column9,\SpX=Column10,\SpXI=Column11%
       }{% 
       \DTLiffirstrow{\\\midrule}{%
       \ifthenelse{\equal{\theDTLrowi}{3}}{\\\rowcolor{red}}{\\}}% %
       \SpI&\SpII&\SpIII&\SpIV&\SpV&\SpVI&\SpVII&\SpVIII% 
       \ifthenelse{\equal{\theDTLrowi}{3}}{\dtlbreak}{}%
       }% 
        \DTLforeach*[\DTLisgt{\SpI}{3}]{CsvTabelle}{% 
       \SpI=Column1,\SpII=Column2,\SpIII=Column3,\SpIV=Column4,\SpV=Column5,\SpVI=Column6,\SpVII=Column7,\SpVIII=Column8,\SpIX=Column9,\SpX=Column10,\SpXI=Column11%
       }{% 
       \DTLiffirstrow{\\\midrule}{% 
       \ifthenelse{\equal{\SpI}{5}}{\\\rowcolor{red}}{\\}}%
       \SpI&\SpII&\SpIII&\SpIV&\SpV&\SpVI&\SpVII&\SpVIII% 
       \ifthenelse{\equal{\SpI}{5}}{\dtlbreak}{}%
       }% 
       \DTLdeletedb{CsvTabelle}
...

Crys
Forum-Century
Forum-Century
Beiträge: 202
Registriert: So 16. Okt 2011, 20:34
Wohnort: localhost:1337

Beitrag von Crys »

Danke. Problem ist, dass die erste Zeile nicht markiert werden kann.
Aber anders geht es eben so kurz nicht ... wieso auch immer. Habe noch lange versucht den Fehler zu finden, aber ist einfach so ...

Ein Tipp zu den anderen Problem, mit nur einer Spalte, zwischen normalen Text?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Crys hat geschrieben:Danke. Problem ist, dass die erste Zeile nicht markiert werden kann.
Aber anders geht es eben so kurz nicht ... wieso auch immer. Habe noch lange versucht den Fehler zu finden, aber ist einfach so ...
\documentclass{scrartcl} 
\usepackage[utf8]{inputenc} 
\usepackage{booktabs} 
\usepackage{array} 
\usepackage{rotating} 

\usepackage{varwidth} 
\newcommand{\rcel}[1]{\rotatebox{90}{\begin{varwidth}{5cm}#1\end{varwidth}}} 

\usepackage{datatool} 
\DTLsetseparator{;}

\usepackage[table]{xcolor}

\begin{document} 

\DTLloaddb[autokeys,omitlines=5]{CsvTabelle}{tableA.csv} 
\edef\spalten{\DTLcolumncount{CsvTabelle}} 

\begin{table}[hbtp!] 
     \footnotesize 
     \centering 
       
     \begin{tabular}{*{12}{r}} 
     \toprule 
     \rcel{Austritts-\\Geschw.}& 
     \rcel{Drehzahl} & 
     \rcel{Breite Ver-\\jüngung} & 
     \rcel{Verjüngte-\\Fläche} & 
     \rcel{Verjünguns-\\Faktor} & 
     \rcel{Druck-\\Verlust} & 
     \rcel{Leistung\\n. Messung} & 
     \rcel{Leistung\\inkl. Steig.} \\ 
     $[$m/s$]$&$[\frac{1}{\mathrm{min}}]$&$[$m$]$&$[$m$^2$$]$&$[$-$]$&$[$Pa$]$&$[$W$]$&$[$W$]$ 
     \DTLforeach*{CsvTabelle}{%  
       \SpI=Column1,\SpII=Column2,\SpIII=Column3,\SpIV=Column4,% 
       \SpV=Column5,\SpVI=Column6,\SpVII=Column7,\SpVIII=Column8%  
     }{%  
     \DTLiffirstrow{\\ \midrule \rowcolor{green}}{\\}%   
     \SpI&\SpII&\SpIII&\SpIV&\SpV&\SpVI&\SpVII&\SpVIII % 
     } 
     \end{tabular} 
     \DTLdeletedb{CsvTabelle} 
\end{table} 

\end{document}
Crys hat geschrieben:Ein Tipp zu den anderen Problem, mit nur einer Spalte, zwischen normalen Text?


Am einfachsten ist es, Du ergänzt die benötigten Spalten direkt in der tableA.csv.

Gruß
Elke

Antworten