我有一个 Excel 文件,用作数据库。当然,里面有很多条目(超过 4000 个),我不想使用所有数据来创建我的 PDF。
所以我考虑使用 LuaLaTeX 创建一个脚本来仅使用我需要的数据。
但我不知道如何使用脚本访问我的 Excel 文件。有没有合适的方法?
答案1
当你听从建议时约瑟夫·赖特和安德鲁您还可以使用该pgfplotstable
包打印 CSV 文件。由于您没有提供示例,因此我只是从这个答案。要查看结果,请参见那里。
\documentclass[margin=5mm,preview]{standalone}
\usepackage{siunitx} % Formats the units and values
\sisetup{ % setup siunitx ...
round-mode = places, % rounds numbers
round-precision = 2, % to 3 places
per-mode = symbol, % kg/dm^3 instead kgm^{-3}
group-four-digits = true, % for 1 234,567
}
\usepackage{booktabs} % for table rules
\usepackage{pgfplotstable} % Generates table from .csv
\usepackage{filecontents} % <--- important: enable table
% refreshing at each compilation
\usepackage[hang,bf,small]{caption}
%---------------------------------------------------------------%
\begin{filecontents*}{mytable.csv}
Chem.; Avg. Conc.; Avg. Conc. Norm.; Conc. unit; Mass sum; Mass unit
Ammonium ; 159083.33; 114450.21; \micro\gram\per\liter; 2839.463; \kilo\gram
Ammonium* ; 1234.123; 4567.890; \micro\gram\per\liter; 2839.46; \kilo\gram
\end{filecontents*}
%---------------------------------------------------------------%
\begin{document}
Test of use \verb+siunitx+ units syntax in text \si{\micro\gram\per\liter} and
\si{\kilo\gram},
\captionof{table}{Some caption text}
\pgfplotstabletypeset[
multicolumn names,
col sep=semicolon, % the separator in our .csv file
string type, % added in hopes of enabling alphabetic input.
header=has colnames,
every head row/.style={before row=\toprule,after row=\midrule},
every last row/.style={after row=\bottomrule},
display columns/0/.style={string type},
display columns/1/.style={column type={S[table-format=7.3]}},% use
display columns/2/.style={column type={S[table-format=7.3]}},% siunitx
display columns/3/.style={column type={s}}, % for units
display columns/4/.style={column type={S[table-format=5.3]}},% for formatting
display columns/5/.style={column type={s}}, % for units
]{mytable.csv}
\end{document}
关于 Excel 表的过滤:为什么不直接过滤 Excel 表,例如使用该AutoFilter
功能,将结果复制到新表并将其保存为 CSV 文件?
要复制“可见单元格”,请查看此资源。
答案2
根据 Joseph Wright 和 Andrew 的评论,我将解释我的解决方案:
从 Excel 或 LibreOffice:
file > Save as > CSV
在包含列和的文件上使用CVSsimple
包:file.cvs
name
firstName
\csvreader
{file.csv}{name=\name,firstName=\firstName}
{
\begin{tabular}
name & first name \\
\name & \firstName
\end{tabular}
}
结果你将得到每个条目的一张表。