多类型下载-格式刷子的实现
来源:互联网 发布:数据眼好看吗 编辑:程序博客网 时间:2024/04/28 17:33
在很多应用系统中,尤其是电子商务类应用系统,往往都会看到应用提供报表、不同数据格式的文件供用户下载,自然提供下载的文件有多种多样:EXCEL、CSV、TXT、PDF、WORD,甚至有更复杂的数据结构文档;本文主要介绍如何通过统一的数据集合,完成不同类型数据结构文档的转换,实现思路仅供参考!
§ 概述
主要工作在于适配不同的数据源为统一的数据接口类型,然后遍历数据源,根据传入的原始数据源列名反射获得列值,再顺序构造待下载结构文档。
§ 实现步骤
§ 示例代码
FileProvider provider = new FileProvider(); provider.DataSource = orders; List<ColumnSetting> settings = new List<ColumnSetting>(); settings.Add(new ColumnSetting() { Format = "{0}", HeaderName = "创建时间", Index = 0, ObjectName = "TradeTime" }); settings.Add(new ColumnSetting() { Format = "{0}", HeaderName = "产品名称", Index = 1, ObjectName = "GoodsName" }); settings.Add(new ColumnSetting() { Format = "{0}", HeaderName = "订单号", Index = 2, ObjectName = "OrderNo" }); settings.Add(new ColumnSetting() { Format = "{0}", HeaderName = "交易号", Index = 3, ObjectName = "TradeNo" }); settings.Add(new ColumnSetting() { Format = "{0}", HeaderName = "交易对方", Index = 4, ObjectName = "TargetAccount" }); settings.Add(new ColumnSetting() { Format = "{0}", HeaderName = "买/卖", Index = 4, ObjectName = "TradeTypeName" }); settings.Add(new ColumnSetting() { Format = "{0}", HeaderName = "金额(元)", Index = 4, ObjectName = "OrderAmount" }); settings.Add(new ColumnSetting() { Format = "{0}", HeaderName = "状态", Index = 4, ObjectName = "TradeStatus" }); settings.Add(new ColumnSetting() { Format = "{0}", HeaderName = "备注", Index = 4, ObjectName = "Memo" }); string downString = provider.GetSourceFile(settings, cmd); DownloadHelper.Instance.Down(cmd, downString, true); public class ColumnSetting { /// <summary> /// 列标题 /// </summary> public string HeaderName { get; set; } /// <summary> /// 对应数据源中的实体名 /// </summary> public string ObjectName { get; set; } /// <summary> /// 制定格式 /// </summary> public string Format { get; set; } public IFormatProvider Provider { get; set; } /// <summary> /// 排序 /// </summary> public int Index { get; set; } }
- 多类型下载-格式刷子的实现
- 刷子 撸一撸手头的几把刷
- java绘图_铅笔的实现,参数传递的感想,绘图版_刷子_橡皮的思想
- JAVA实现对多个文件压缩为zip格式的下载
- 解密刷子是如何进行APP刷量的?
- 问题链接:HDU5319 Painter。 本题可以使用深度优先搜索求解。 红色刷子("R"刷子)按“\”的方向刷,蓝色刷子("B"刷子)按"/"方向刷。一个地方如果被两次刷到变成绿色("G"色)。
- 字符刷子
- 刷子表
- ADO数据库的类型格式
- "data"类型的Url格式
- Mapreduce的类型和格式
- MapReduce的类型与格式
- MapReduce的类型与格式
- aptana的zip格式下载
- C# Directory.GetFiles()获取多个类型格式的文件
- C# Directory.GetFiles()获取多个类型格式的文件
- C# Directory.GetFiles()获取多个类型格式的文件
- itext和jxl实现PDF,CSV和Excel格式的文件的下载
- iPhone无99刀开发 ( zt)
- 开发YXPack32.dll过程中的一些经验
- VC++2005 CString和char*的相互转换
- 设计过度
- c#编程提高篇
- 多类型下载-格式刷子的实现
- 多核程序优化工具——Cilk++1.0发布
- 拒酒词、与领导喝酒的诀窍、酒量不行的技巧
- 那一年
- Microsoft JScript 运行时错误 对象不支持此属性或方法
- Berkeley DB 1.8.6源代码学习(二)
- how to make a driver pagable
- 关于Mysql是否满足C2级的讨论
- 一个DNS转发故障,造成的部分域名不能解析的解决方法