当我双击打开一个 csv 文件时,它会打开,并且正如人们所期望的那样,在一大组单元格中显示数据,并在顶部带有格式选项带(剪贴板、字体、对齐方式等),就像 Excel 文件一样。
当我在 VSCode 中打开相同的 csv 时,我看到的内容看起来更像是一个简单的文本文件,如下所示:
Sr,S,V
67,30,-7
27,80,123
200,15,300
84,78,135
151,25,167
-1,98,148
51,87,120
我的问题是,在前一种情况下“创建”所有格式化功能的是什么?所有这些东西是如何编程的?
首先,请注意,如果您应用格式(字体、对齐方式等)并将其保存回 CSV,则您的格式将不会被保存。您可以看到 CSV 只是一些用逗号分隔的文本(因此格式名称为“逗号分隔值”)。没有地方可以放置格式。
所以,唯一的区别是细胞。Excel 通过搜索逗号和行尾自动将文件拆分为单元格。它还“解释”数据,确定数字格式、日期、文本等(例如,默认情况下,数字和日期向右对齐,文本向左对齐)。它这样做是因为它是一个表处理器并且被设计为与表一起使用。VSCode 没有此功能,它仅显示纯文本。
换句话说,Excel 将 CSV 转换为其内存中的本机格式,从而实现完整功能。
您可以将带有格式的表格保存为其他文件格式,例如 XLSX,它比 CSV 复杂得多,并且可以保存格式。在内部,它是一个包含 XML 文档的 ZIP 文件(并且可能包含其他文件,例如,如果将图像插入表中,它将以其本机格式存储在 ZIP 文件中)。如果您有兴趣,可以将其解压并研究其内容。