目录
Excel 转 latex代码
第一步:下载 excel2latex
CTAN: /tex-archive/support/excel2latex
第二步:解压 excel2latex
第三步:打开Excel,在 文件->选项->信任中心->信任中心设置->宏设置(不同版本位置可能不一样),将VBA宏启动。
第四步:载入excel2latex宏,点击 文件->选项->加载项->转到
点击浏览
选择将刚刚下载好的 excel2latex.xla
导入后,会在刚刚的加载项中出现如下图红框的选项,勾选即可
第五步:在菜单栏中的 视图 中将网格线取消
第六步:将 Excel表格 转换成 LaTeX代码。这里我准备了几个表格
鼠标选中需要转换成latex的表格,这里我选中左上角那个表格。然后在菜单栏中的 加载项 点击Convert Table to LaTeX
点击下方的 Copy to Clipboard 即可复制latex代码
表格边框截断、加粗以及表格内容垂直居中
在导言区首先加入以下代码
\usepackage{ctex}
%==================表格格式=================
\usepackage{makecell} % 表格内容居中
\newcommand{\tableCenter}[1]{\makecell[c]{#1}}
\usepackage{booktabs} % 表格边框
\usepackage{array}
\usepackage{multirow}
%================表格颜色====================
\usepackage[table]{xcolor}
粘贴刚刚的latex代码得到的结果如下
表格边框截断解决
将表格中的 \toprule \midrule \bottomrule 换成 \hline
表格边框加粗
由于之前的 \toprule \midrule \bottomrule 是用来进行表格加粗用的,那么为了取消边框截断就不能够使用它们。所以我提供了一个新方法。
在导言区加上如下代码
\setlength{\arrayrulewidth}{0.5mm} % 0.5mm为表格边框粗度
缺点就是所有表格的边框都被加粗了......如果有更好的办法欢迎各位大佬指出
表格内容水平垂直居中
为了看到效果,我将该表格的宽度增大(在 \\ 后面加上[20pt],中括号内的数值随意指定)
现在先放出我修改完后的效果图以及代码
\documentclass{article}
\usepackage{ctex}
%==================表格格式=================
\usepackage{makecell} % 表格内容居中
\newcommand{\tableCenter}[1]{\makecell[c]{#1}}
\usepackage{booktabs} % 表格边框
\usepackage{array}
\usepackage{multirow}
\setlength{\arrayrulewidth}{0.5mm}
%================表格颜色====================
\usepackage[table]{xcolor}
\begin{document}
% Table generated by Excel2LaTeX from sheet 'Sheet1'
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{|m{10em}<{\centering}|m{10em}<{\centering}|}
\hline
\rowcolor[rgb]{ .267, .447, .769} {\textcolor[rgb]{ 1, 1, 1}{\multirow{1}{*}[-8pt]{\large 融资来源}}} & {\textcolor[rgb]{ 1, 1, 1}{\multirow{1}{*}[-8pt]{\large 金额}}} \\[20pt]
\multirow{1}{*}[-10pt]{团队自筹} &\multirow{1}{*}[-10pt]{20万} \\[20pt]
\hline
\multirow{1}{*}[-10pt]{政府扶持基金} &\multirow{1}{*}[-10pt]{20万} \\[20pt]
\hline
\multirow{1}{*}[-10pt]{学校赞助} & \multirow{1}{*}[-10pt]{10万} \\[20pt]
\hline
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
在表格的开头定义区需要改为
{|m{10em}<{\centering}|m{10em}<{\centering}|}
这是为了使内容水平居中
而为了使内容垂直居中,我加入了如下代码
\multirow{1}{*}[-8pt]
其中的 [-8pt] 代表内容往下移动8pt。然而这种方法需要我们手动调_(:з」∠)_,目前我还没有找到自动垂直居中的方法,如果找到了再来更新这里。