delphi – 如何以类似于NET FileHelpers的方式读取和写入CSV?
任何人都知道如何以类似于NET FileHelpers的方式导入/导出csv,txt文件,但是使用Delphi,将空格和引号考虑在内并以类似于CSV转义在Excel中的方式处理传统的CSV转义规则?
REF.链接http://www.filehelpers.com/ 如果你的答案往往是:“为什么这个懒惰的人不会写一个简单的CSV解析器”,考虑这个5分钟的阅读,然后你会知道为什么CSV解析不是微不足道的: http://secretgeek.net/csv_trouble.asp 解决方法
我写了一个名为TJvCsvDataSet的Jedi项目的数据集(TTable类似对象),遵循所有CSV解析规则,其方式与Excel使用的CSV解析规则以及导入和导出CSV的各种数据库和报表工具类似.
您可以安装JVCL,在表单上放置一个TJvCsvDataSet. 它还包含一个流类,它将非常快速地加载磁盘上的文件,并使用CSV文件所需的正确的转义规则逐行解析它,甚至包含字段中编码的回车/换行符代码的文件. 您只需将其放在窗体上,并设置FieldDefs属性,如下所示: CsvFieldDef = ABC:%,DEF:#,GHI:$…. 有整数,浮点,异时日期等字段的特殊代码.它甚至允许您将宽字符串字段映射到CSV文件中的utf8字段. 有一个designtime属性编辑器来保存你不必使用上面的语法来声明CSV字段定义,而是可以直观地选择列类型. 如果您没有设置CSV字段Def,则只将文件中存在的任何内容映射到字符串类型字段. 绝地JVCL: JvCsvDataSet文件: http://help.delphi-jedi.org/unit.php?Id=3107 http://help.delphi-jedi.org/item.php?Id=174896 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |