[Tex/LaTex] Fitting a huge table in one page

tables

I'm trying to fit the below table in one page either in landscape or portrait but unfortunately i'm not able to do it. please anyone can help getting it on page ??

\usepackage{lscape}
\usepackage{booktabs}
\usepackage{amssymb}

\begin{landscape}
\begin{table}[htbp]
  \centering
  \caption{Add caption}
    \begin{tabular}{crrrrrrrrrrrrrrrrrrrrr}
    \toprule
    Tool Name  & \multicolumn{1}{c}{Dymola} & \multicolumn{1}{c}{Matlab/Simulink} & \multicolumn{1}{c}{ETAP} & \multicolumn{1}{c}{PSS/E} & \multicolumn{1}{c}{Homer Pro} & \multicolumn{1}{c}{Moasik} & \multicolumn{1}{c}{ATP Designer} & \multicolumn{1}{c}{NEPLAN} & \multicolumn{1}{c}{Transmission 2000} & \multicolumn{1}{c}{CYME} & \multicolumn{1}{c}{DIgSILENT 
(PowerFactory)} & \multicolumn{1}{c}{SynerGEE 
Electric} & \multicolumn{1}{c}{CAPE} & \multicolumn{1}{c}{Eurostag} & \multicolumn{1}{c}{IPSA 2} & \multicolumn{1}{c}{MILSOFT 
Windmil} & \multicolumn{1}{c}{SimPowerSystems} & \multicolumn{1}{c}{MicroTran} & \multicolumn{1}{c}{DSATools} & \multicolumn{1}{c}{SIMPOW} & \multicolumn{1}{c}{SKM 
Power*Tools} \\
    \midrule
    \textbf{Simulation Capabilities} &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &  \\
    Dynamic Simulation & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} \\
    Power Flow Calculations & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} \\
    Renewable Energies modeling (PV \& Wind) & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{P} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} \\
    \textbf{Other capabilities } &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &  \\
    is Programing required ? & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} \\
    Ability to export/import to other software & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} \\
    Verified Library & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} \\
    Availability in HS & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{\checkmark} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} & \multicolumn{1}{c}{-----} \\
    \bottomrule
    \end{tabular}%
  \label{tab:addlabel}%
\end{table}%
\end{landscape}

Best Answer

How about the following:

\documentclass{article}

\usepackage{pdflscape}
\usepackage{booktabs}
\usepackage{amssymb}
\usepackage{graphicx}

\newcommand*\rot{\rotatebox{90}}

\begin{document}
\begin{landscape}
\begin{table}%[htbp]
  \centering
  \caption{Add caption}
  \setlength{\tabcolsep}{4pt}
    \begin{tabular}{p{4.5cm}ccccccccccccccccccccc}
%    \toprule
    Tool Name  & \rot{Dymola} & \rot{Matlab/Simulink} & \rot{ETAP} & \rot{PSS/E} & \rot{Homer Pro} & \rot{Moasik} & \rot{ATP Designer} & \rot{NEPLAN} & \rot{Transmission 2000} & \rot{CYME} & \rot{DIgSILENT (PowerFactory)} & \rot{SynerGEE Electric} & \rot{CAPE} & \rot{Eurostag} & \rot{IPSA 2} & \rot{MILSOFT Windmil} & \rot{SimPowerSystems} & \rot{MicroTran} & \rot{DSATools} & \rot{SIMPOW} & \rot{SKM Power*Tools} \\
    \midrule
    \multicolumn{2}{l}{\textbf{Simulation Capabilities}}       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &  \\
    Dynamic Simulation & \checkmark & \checkmark & \checkmark & \checkmark & --- & --- & \checkmark & \checkmark & --- & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & --- & \checkmark & --- & \checkmark & \checkmark & \checkmark \\
    Power Flow Calculations & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark \\
    \hangindent=0.5cm\raggedright
    Renewable Energies modeling (PV \& Wind)
            & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & --- & \checkmark & P & \checkmark & --- & \checkmark & \checkmark & \checkmark & \checkmark & --- & \checkmark & --- & --- \\
    \textbf{Other capabilities}  &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &       &  \\
    is Programing required? & \checkmark & \checkmark & --- & --- & --- & \checkmark & --- & \checkmark & --- & \checkmark & \checkmark & \checkmark & --- & --- & \checkmark & --- & \checkmark & --- & --- & --- & --- \\
    \hangindent=0.5cm\raggedright
    Ability to export/import to other software & \checkmark & \checkmark & \checkmark & --- & --- & \checkmark & \checkmark & \checkmark & --- & \checkmark & \checkmark & --- & --- & --- & --- & --- & \checkmark & --- & \checkmark & --- & --- \\
    Verified Library & \checkmark & \checkmark & \checkmark & \checkmark & --- & \checkmark & --- & \checkmark & --- & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & \checkmark & --- & \checkmark & \checkmark & \checkmark \\
    Availability in HS & \checkmark & \checkmark & --- & --- & --- & --- & --- & --- & --- & --- & \checkmark & --- & --- & --- & --- & --- & --- & --- & --- & --- & --- \\
    \bottomrule
    \end{tabular}%
  \label{tab:addlabel2}%
\end{table}%
\end{landscape}

The ideas are:

  1. Use landscape mode (package lscape or pdflscape)
  2. Rotate the long captions of the columns (\rotatebox from package graphicx)
  3. Spread the two longest row captions over two lines: use p{4.5cm} instead of c for the first column. To prevent a line break in the title caption "Simulation Capabilities" one can use a \multicolumn. To make the line break clear, make it left aligned and indent the second lines.
  4. Decrease the column separation from 6pt (standard value) to 4pt.
  5. Replace ----- by --- (as suggested by David Carlisle)

The table

As suggested by Christian Lindig, it is also possible to rotate the column headers by some other angle; see Rotated column titles in tabular. This increases the width of the headers, of course, and so one has to take care, that this does not again increase the column separation. This can be achieved with \rlab. Example:

\newcommand*\rot[1]{\rotatebox{60}{\rlap{#1}}}
Related Question