\documentclass[a4paper]{article}
\usepackage{lmodern,array,odsfile}
% - lmodern because cm is not unicode
% - array for vertically spacing table rows
% - odsfile does the ods import, but only under lualatex

\setlength\extrarowheight{1pt}

\begin{document}

\section*{Table imported by odsfile, simple version}

\begin{tabular}{rrcl}
\includespread[file=some_data.ods,range=a1:d21]
\end{tabular}

\section*{Column headers defined here}

\begin{tabular}{rrcl}
\textbf{\#} & \multicolumn{1}{c}{\textbf{Date}} & \textbf{Code}
 & \textbf{Description}\\
\includespread[file=some_data.ods,range=a2:d21]
\end{tabular}

\section*{Column headers loaded separately}

\begin{tabular}{rrcl}
\includespread[file=some_data.ods,range=a1:d1]
\\
\includespread[file=some_data.ods,range=a2:d21]
\end{tabular}

\section*{With a template `atemplate'}

% the template below separates column headings from
% the main body of the table

\tabletemplate{atemplate}{%
\begin{tabular}{-{coltypes}}
\hline\\[-8pt]
-{colheading}
\hline\\[-8pt]
-{content}
\\
\hline
\end{tabular}
}

\includespread[
 columns=head,
 template=atemplate,
 coltypes=rrcl,
 file=some_data.ods,range=a1:d21]

\end{document}