使用 LaTeX 创建 Excel 文档

使用 LaTeX 创建 Excel 文档

我一直在使用一个包含一些命令的自己的类来编写我的课程考试(我是一名教师)。在这个类中,我使用了一个相当复杂的积分系统(我这样做的原因有点不相关),其中包含 9 种不同的积分。为了向学生展示他们在特定问题上获得了什么样的分数,我一直在使用它newfile来创建一个.xml文件,显示问题编号以及在该特定问题上可以获得什么样的分数,如图所示(在 Excel 中打开时)

显示 Excel 的图片

当我输入问题时,我会向该问题输入一些要点命令(9 个不同的命令),每个命令都会向.xml文件添加一行。该课程使用大量计数器和命令以及大量文本来生成文件的开头和结尾.xml

我得出的结论是,我确实需要一个条形图,显示所获得和未获得的积分,但.xmlExcel 却无法提供任何信息(好吧,它确实提供了,但无法保存,所以我无法通过在文本编辑器中打开文件来获取代码)。

因此,这可能与 Excel 的关系比与 LaTeX 的关系更密切,但由于我使用 LaTeX 来生成相关文件,因此我想我可以在这里问一下:有没有办法(或包)通过 LaTeX 创建 Excel 文件,可以添加图表(以某种方式)?或者有没有比使用newfile和更好的方法.xml?也许需要不同的文件格式?

答案1

由于 Excel 文件是二进制文件(请参阅下面的更新),因此直接从 LaTeX 创建 excel 文件非常困难,恕我直言。LaTeX 更适合创建文本文件。这就是你必须利用的。

您已经创建了 xml 文件,因此文件创建和写入机制对您来说应该是一项简单的任务。

无论如何,我认为创造.CSV文件将是你最好的选择。

例如,显示的文件的一部分应如下所示,

Uppgift, EBP, CBP, ABP, EPM  
1_1, 1  
1_2, ,,,1

将此文件保存为 .csv 扩展名,Excel 将自动将其视为 Excel 兼容文件。我不确定如何创建合并单元格或单元格边界(和单元格背景)。这些操作可能需要在 Excel 中打开文件后手动完成。

如果你想走一条更具冒险精神(而且肯定更有回报)的道路,你会想要使用Java(Apache POI)或者PHP (PHPExcel)从通过 LaTeX 创建的文本文件创建 Excel 文件。

除非您将该功能用于大量文件和一般用户群,否则考虑到成本效益(请阅读努力-效益)分析,也许 .CSV 选项是最优的。

更新 发现(很费劲)xlsx 文件是一堆压缩的 xml 文件(谢谢尤里·罗布尔)。但是要生成的文件太多了(至少八个),也许 LaTeX 所涉及的编程不值得付出努力。而且一旦生成了这些文件,您就必须使用一些外部应用程序将它们压缩,不是乳胶。

相关内容