数据转换是一个非常常见的需求,不同系统间的数据交互,需要按特定格式来提供数据。Excel作为数据源,某些环境不及文本文件好用,毕竟需要特定程序来读取,所以顺带做了个小功能,Excel的数据导出到文本文件中。
原生功能实现的小缺点
文本文件中,一般需要指定导出数据的行记录分隔符,不同的数据需求,有些不一样,但因为它也是非常自由的,没有像Excel或数据库或xml、json这些结构化的数据。
单纯依赖于分隔符区分不同列的内容,容易出现误判,如使用英文逗号分隔,而某个单元格内容里就有英文逗号,致使最后分隔出来的数据列错位。
同样地文本文件中,因为有字符编码的不同,也容易出现乱码,例如Excel打开csv,默认使用ANSI编码来读取,如果文本文件是其他非本系统的编码,就出现乱码现象,包括很常用的UTF-8。
而大部分程序交互文本文件,都使用UTF-8字符串作兼容。虽然原生的Excel另存为csv格式也可以转UTF-8,但估计许多人分不清其中的区别。
Excel催化剂克服以上问题点
针对以上的问题,开发了一个小小功能,满足到导出为文本文件时,选择不同的文件编码,并且可以对行内的字段间的分隔符进行自定义。
暂定菜单位置,更佳的调用方式是使用搜索,具体操作可查看106波。
操作步骤
-
先选定要导出的单元格区域,只对规范的数据明细数据进行导出,即数据清单列表,列名不能有重名。有筛选条件过滤下,不对隐藏行数据进行导出。
-
点击菜单后跳出简单的配置窗体,自行去选择自己所需的的选项
文件类型分:csv和txt(仅仅后缀名不一样,其实都是文本文件),并区分是否是ANSI或utf8编码格式。
分隔符有:空格,制表符和英文逗号。
内容两端字符:防止和原内容分隔符有冲突,可以用英文单引号或双引号将其包裹起来。
结语
简单的一个小功能,也是出于自己的使用需要而开发,功能无关大小,用到时就是刚需,希望能够满足到部分人的一些场景需要。