如何更简单实现CSV文件转换

原创|使用教程|编辑:我只采一朵|2018-01-22 14:40:46.000|阅读 113 次

概述:MS Excel电子表格编辑器在编辑CSV文件方面做得很好。但是如果你没有电子表格呢?

相关链接:

MS Excel电子表格编辑器在编辑CSV文件方面做得很好。你可以排序和过滤数据,删除不必要的列,添加编号。但是如果你没有电子表格呢?编辑csv文件变成了噩梦。你必须跟踪分隔符来理解这个或那个数据所指向的列。排序通常成为几乎不可能完成的任务,尤其是在处理大量数据时。

这种情况怎么解决?我们有FastReport.Net。我们可以使用csv作为报表的数据源。在报表内部,执行数据转换。然后,导出回csv文件。

让我们来看一个带有姓名和地址列表的小型CSV文件:

如何更简单实现CSV文件转换

首先,确定我们想要做的转换:

  1. 删除PostalCode列;
  2. 从地址中提取城市名称,作为一个单独的字段;
  3. 所有记录按姓名排序;
  4. 从数据集中删除Robert King的姓氏。

创建一个新的报表。添加一个新的CSV数据源文件。

在报表页面上,放置FIO和地址字段,并添加地址字段两次。第一个添加的地址字段编辑如下: [Substring ([Addresses .Address], 0.6)] 。所以,我们将莫斯科从其他地址中单独拎出来。如果城市名称不同,我们需要更复杂的处理。为此,你需要使用报表脚本。对于添加到带区的文本对象,你需要创建 BeforePrint () 事件。在脚本中,我们添加了库的使用:using System.Text.RegularExpressions;

这里是事件处理句柄代码:

private void Text5_BeforePrint(object sender, EventArgs e)
 {
 Regex rgx = new Regex("([^,]|\n)+", RegexOptions.IgnoreCase);
 Match match = rgx.Match(Report.GetColumnValue("Адреса.Address").ToString());
 if (match.Success)
 {
 Text5.Text = match.Value.ToString();
 }
 }

如你所见,我们使用正则表达式来选择逗号前的数据。

现在让我们回到已添加的第二个地址字段。由于我们把城市名称分成了一个独立的列,所以其余的地址必须留在这里。我们使用Text3对象的脚本:

private void Text3_BeforePrint(object sender, EventArgs e)
 {
 Regex rgx = new Regex(@"(?<=,\s).*", RegexOptions.IgnoreCase);
 Match match = rgx.Match(Report.GetColumnValue("Addresses.Address").ToString());
 if (match.Success)
 {
 Text3.Text = match.Value.ToString();
 }
 }

现在我们按姓名排序数据。要做到这一点,双击“数据”带区。选择“排序”选项卡。我们有三个字段可以排序。我们只指定第一个值 – 姓名:

如何更简单实现CSV文件转换

我们需要的只是按照姓名“Robert King”筛选数据。要做的这一点,再次双击数据带区。在随后出现的窗口中,选择“过滤”选项卡并输入表达式 [Addresses.Name]!="Robert King"

如何更简单实现CSV文件转换

以预览模式运行报表:

如何更简单实现CSV文件转换

所以,我们删除了ZIP列,按姓名称对列表进行排序,将地址分成城市和街道,删除了名字为Robert King的行。

现在让我们导出到csv。要做到这一点,在预览模式下,按下按钮:如何更简单实现CSV文件转换

并选择“CSV格式...”。在对话框中,单击“确定”并选择文件将被保存的位置。最后,我们得到以下CSV文件:

如何更简单实现CSV文件转换

如你所见,事实证明,使用FastReport转换文档相当简单,这与在Excel编辑器中工作时间成本相当。因此,FastReport可以成为处理CSV文件的最佳替代工具。

产品介绍 下载试用 | 优惠活动 | 在线客服 | 联系Elyn

 

推荐阅读

FastReport 2018 最新版本下载


标签:报表专家报表解决方案报表.NET报表控件报表设计报表引擎

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

登录慧都网发表评论登录


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关厂商
相关产品
FastReport VCL

一种附加组件能使你的应用程序快速有效地生成报表

FastScript

FastScript是一个跨平台的多语言脚本引擎,帮助开发者在他们的应用程序中增加脚本功能。

FastCube VCL

FASTCUBE VCL是一款有效的数据分析工具

FastReport.Net

一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。

FastQueryBuilder

FastQueryBuilder是一款简单实用的可视SQL请求软件开发包。它与本地CS数据库兼容。

FastReport FMX

报表生成器FastReport FMX 是第一个支持苹果Mac OC X 和Microsoft Windows的跨平台报表生成器,并且它与Embarcadero公司的RAD Studio XE2 (FMX库)兼容。

FastReport Mono

FastReport.Mono 是一款为Mono Framework设计的功能全面的报表生成工具。FastReport Mono 应用于Windows, Linux, Mac OS X,以及任何支持Xamarin Mono的操作系统。

FastCube FMX

高效的OLAP桌面数据分析工具

FastReport Online Designer

一个跨平台的可视化Web报表设计器

在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat