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

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

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

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

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

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

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

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

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(@"(lt;=,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文件转换

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

 

推荐阅读
  • FastReport VCL 表控件开发者手册
  • FastReport Online Designer中文手册
  • Fastreport.Net教程2016
  • Fastreport.Net用户手册
  • FastReport.Net教程2017(持续更新中···)
  • FastReport Online Designer教程2017(持续更新中···)
  • 表教程2017(持续更新中···)
  • FastReport.Net v2018.1版本更新已经发布!

FastReport 2018 最新版本下载
标签: 表专家 表解决方案 表.NET 表控件 表设计 表引擎

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年1月19日
下一篇 2018年1月19日

相关推荐

发表回复

登录后才能评论