由于项目上的需求,需要导出指定条件的Excel文件。经过一翻折腾终于实现了。
现在把代码贴出来分享
(直接把我们项目里面的一部份辅助类的代码分享一下)
我们项目使用的是Asp.Net MVC4.0模式。
每个ActionResult必然会返回一个View或Json等(View或Json中的参数都是object类型的)
所以我们需要一个公共类来统一定义操作的“成功或失败”的状态或返回操作的消息 ,以及有利于使用jquery $.get() 、$.post()的接收返回参数时的统一性。
以下是StatusMessageData类。(当然,如果只想要导出Excel,这个类是不需要定义的。)
/// <summary> /// 辅助传输StatusMessage数据 /// </summary> [Serializable] public sealed class StatusMessageData { private StatusMessageType messageType; /// <summary> /// 提示消息类别 /// </summary> public StatusMessageType MessageType { get { return messageType; } set { messageType = value; } } private string messageContent = string.Empty; /// <summary> /// 信息内容 /// </summary> public string MessageContent { get { return messageContent; } set { messageContent = value; } } private object data; /// <summary> /// 数据 /// </summary> public object Data { get { return data; } set { data = value; } } /// <summary> /// 构造器 /// </summary> /// <param name="messageType">消息类型</param> /// <param name="messageContent">消息内容</param> public StatusMessageData(StatusMessageType messageType, string messageContent, object data) { this.messageType = messageType; this.messageContent = messageContent; this.data = data; } public StatusMessageData(StatusMessageType messageType, string messageContent) { this.messageType = messageType; this.messageContent = messageContent; } public StatusMessageData() { } } /// <summary> /// 提示消息类别 /// </summary> public enum StatusMessageType { /// <summary> /// 成功 /// </summary> Success = 1, /// <summary> /// 错误 /// </summary> Error = -1, /// <summary> /// 提示信息 /// </summary> Hint = 0, /// <summary> /// 提醒登录 /// </summary> Login = 5, /// <summary> /// 提示重定向 /// </summary> Redirect = 6, }