目录
[2、Microsoft 已阻止宏运行,因为此文件的来源不受信任](#2、Microsoft 已阻止宏运行,因为此文件的来源不受信任)
一、下载Excel2Latex
Excel2Latex的官网直接下载软件:CTAN: /tex-archive/support/excel2latex
github的项目源码:GitHub - ivankokan/Excel2LaTeX: The Excel add-in for creating LaTeX tables
二、使用Excel2Latex
1、将Excel2LaTeX文件添加到加载项
下载完成之后,打开需要的excel表格,直接双击Excel2LaTeX文件,用excel打开。打开后,会看见如下显示(因为我安装了网盘,所以叠加在这里了,正常应该是在"加载项"中,如果没有看见,都在别的状态栏里看看):
或者是如下图标:
如果不想每次都打开,可以在:开发工具 -> Excel 加载项 -> 浏览 -> 找到刚下载的 .xla 文件 -> 确定,然后勾选上即可在上述状态栏中找到。
2、导出LaTex的表格数据
在excel页面中输入数据,并且设计想要的边框和线条格式,设置效果如下:
接着,选中需要转换为latex代码的表格信息,选择excel上方的"
加载项"
,接着选择相应的图标。
选择"copy to Clipboard",将生成的latex代码复制到剪切板。
转换后的LaTex显示结果:
3、注意事项
写在前面: 不需要设置任何格式,打开excel后直接制作表格。(如果数字是文本格式,转换的会不居中,即设置的各种格式在latex中可能会失效。因此,打开excel表格直接填写,并设置好表格样式即可)
1)生成的latex表格断断续续问题
excel页面中设计好的边框和线条格式效果如下:
转为latex显示如下:
出现竖线截断现象,因此需要修改。
- 将 \toprule 、\midrule 、\bottomrule修改为 \hline
- 将 \cmidrule修改为**\cline**
如果还是未解决,在excel里面的灰色线条去掉:点击'视图',取消勾选'网格线'
修改后结果如下:
修改后的代码如下:
perl
\documentclass[]{interact} % 导入自己的样式,如果没有可以使用\documentclass[]{article}
\usepackage{multirow}
\begin{document}
% Table generated by Excel2LaTeX from sheet 'Sheet3'
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{c|c|ccc|ccc}
\hline
\multicolumn{2}{c|}{\multirow{2}[4]{*}{Method}} & \multicolumn{3}{c|}{Dataset 1} & \multicolumn{3}{c}{Dataset 2} \\
\cline{3-8} \multicolumn{2}{c|}{} & RMSE & MAE & ACC & RMSE & MAE & ACC \\
\hline
\multirow{2}[2]{*}{Non-Graph} & SVM & 1 & 2 & 3 & 3 & 2 & 4 \\
& RF & 1 & 1 & 1 & 1 & 1 & 11 \\
\hline
\multirow{5}[2]{*}{Graph} & GCN & 8 & 1 & 0 & 1 & 1 & 1 \\
& GIN & 1 & 0 & 1 & 0 & 0 & 5 \\
& CNN & 7 & 6 & 6 & 5 & 5 & 1 \\
& GTN & 1 & 3 & 1 & 1 & 0 & 4 \\
& NGNN & 5 & 4 & 1 & 0 & 1 & 0 \\
\hline
Proposed & ABC & 5 & 6 & 7 & 8 & 98 & 15 \\
\hline
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
2)改变线形的粗细
加入宏包:
perl
\usepackage{tabu}
按照以下修改环境:
perl
\begin{tabular} ->替换为 \begin{tabu}
...
\end{tabular} ->替换为 \end{tabu}
将需要加粗的线条如下替换:
perl
\hline ->替换为 \tabucline[1.5pt]{-} 即可
修改后的代码如下:
perl
\documentclass[]{interact} % 导入自己的样式,如果没有可以使用\documentclass[]{article}
\usepackage{multirow}
\usepackage{tabu}
\begin{document}
% Table generated by Excel2LaTeX from sheet 'Sheet3'
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabu}{c|c|ccc|ccc}
\tabucline[1.5pt]{-}
\multicolumn{2}{c|}{\multirow{2}[4]{*}{Method}} & \multicolumn{3}{c|}{Dataset 1} & \multicolumn{3}{c}{Dataset 2} \\
\cline{3-8} \multicolumn{2}{c|}{} & RMSE & MAE & ACC & RMSE & MAE & ACC \\
\hline
\multirow{2}[2]{*}{Non-Graph} & SVM & 1 & 2 & 3 & 3 & 2 & 4 \\
& RF & 1 & 1 & 1 & 1 & 1 & 11 \\
\hline
\multirow{5}[2]{*}{Graph} & GCN & 8 & 1 & 0 & 1 & 1 & 1 \\
& GIN & 1 & 0 & 1 & 0 & 0 & 5 \\
& CNN & 7 & 6 & 6 & 5 & 5 & 1 \\
& GTN & 1 & 3 & 1 & 1 & 0 & 4 \\
& NGNN & 5 & 4 & 1 & 0 & 1 & 0 \\
\hline
Proposed & ABC & 5 & 6 & 7 & 8 & 98 & 15 \\
\tabucline[1.5pt]{-}
\end{tabu}%
\label{tab:addlabel}%
\end{table}%
\end{document}
3)表格太大,需要缩小到适应大小
按以下修改,就可以自适应的调整大小
perl
...
\resizebox{\textwidth}{!}{
\begin{tabular} ->替换为 \begin{tabu}
...
\end{tabular} ->替换为 \end{tabu}
}
....
4)表格内换行
宏包:\usepackage{makecell}
环境:tabular
命令:\makecell[居中情况]{第1行内容 \\ 第2行内容 \\ 第3行内容 ...}
\makecell[c]{a \\ b \\ b}
5)将三个Dataset下面的横线分离开
在生成的LaTeX代码中,Dataset下方的横线代码如下:
perl
\cmidrule{3-11}
这显然是一根完整的横线,现在介绍如何分成三段。将上述代码修改为:
perl
\cmidrule(r){3-5} \cmidrule(r){6-8} \cmidrule{9-11}
6)调整表格标题到表格的距离
在\centering下面添加\setlength的命令:
perl
\begin{table}[htbp]
\centering
\setlength{\abovecaptionskip}{2pt}%
\setlength{\belowcaptionskip}{10pt}%
\caption{It is a table.}
修改后的代码如下:
perl
\documentclass[]{interact} % 导入自己的样式,如果没有可以使用\documentclass[]{article}
\usepackage{multirow}
\usepackage{tabu}
\begin{document}
% Table generated by Excel2LaTeX from sheet 'Sheet3'
\begin{table}[htbp]
\centering
\setlength{\abovecaptionskip}{2pt} % 标题上方距离
\setlength{\belowcaptionskip}{10pt} % 标题下方距离
\caption{Add caption}
\begin{tabular}{c|c|ccc|ccc}
\hline
\multicolumn{2}{c|}{\multirow{2}[4]{*}{Method}} & \multicolumn{3}{c|}{Dataset 1} & \multicolumn{3}{c}{Dataset 2} \\
\cline{3-8} \multicolumn{2}{c|}{} & RMSE & MAE & ACC & RMSE & MAE & ACC \\
\hline
\multirow{2}[2]{*}{Non-Graph} & SVM & 1 & 2 & 3 & 3 & 2 & 4 \\
& RF & 1 & 1 & 1 & 1 & 1 & 11 \\
\hline
\multirow{5}[2]{*}{Graph} & GCN & 8 & 1 & 0 & 1 & 1 & 1 \\
& GIN & 1 & 0 & 1 & 0 & 0 & 5 \\
& CNN & 7 & 6 & 6 & 5 & 5 & 1 \\
& GTN & 1 & 3 & 1 & 1 & 0 & 4 \\
& NGNN & 5 & 4 & 1 & 0 & 1 & 0 \\
\hline
Proposed & ABC & 5 & 6 & 7 & 8 & 98 & 15 \\
\hline
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
三、存在问题
1、受保护的视图中不支持此文件类型
在选项-信任中心-信任中心设置-受保护的视图中,取消勾选的选项。
2、Microsoft 已阻止宏运行,因为此文件的来源不受信任
在选项-信任中心-信任中心设置-受信任位置,将Excel2LaTeX.xla文件的位置添加进来即可,之后双击打开就不会报错。
如果经常换位置,不想每次都操作,可以将该盘符添加进来,并勾选"同时信任此位置的子文件夹"。