思考(七十三):Excel 数值表的相关

Excel To CSV

服务器端如果直接使用 Excel 文件加载资源,会非常慢

使用 https://github.com/360EntSecGroup-Skylar/excelize 库, 380 KB+ 的资源,大约要消耗 20s+

因此,必须事先使用工具,转成其他可快速加载的格式

可选的格式很多:

  • CSV
  • Protobuf
  • Json

最佳的格式,一定会是 Protobuf ,可以在多版本共存的环境中,发挥向前兼容的特性

这里,项目上的折中,实践了 Excel To CSV

并分析总结相关要点

逗号、双引号以及转义

CSV 使用逗号分隔字段内容,因此字段内容中有逗号,必须先转义

其转义规则,字段内容前后添加双引号

比如字段内容为: 这里有 a,b,c 三个值

到 CSV 文件中,会保存为: "这里有 a,b,c 三个值"

扫描二维码关注公众号,回复: 11605926 查看本文章

进而,如果字段内容中有双引号,显然也需要转义

其转义规则,字段内容前后添加双引号,且字段内容内的双引号转为 2 个双引号

比如字段内容为: 这里有 "a","b","c" 三个值

到 CSV 文件中,会保存为: "这里有 ""a"",""b"",""c"" 三个值"

以上规则可以参考 golang csv 中的描述: https://golang.org/pkg/encoding/csv/

如果是自己手动写工具,必须要实现这里写的转义规则

猜你喜欢

转载自blog.csdn.net/u013272009/article/details/108221985