Excel 数据导出
Web controller
/// <summary>
/// 导出数据
/// </summary>
/// <param name="UserID"></param>
/// <param name="UserName"></param>
/// <param name="UserStatus"></param>
/// <param name="Gender"></param>
/// <param name="Mobile"></param>
/// <param name="bAddTime"></param>
/// <param name="eAddTime"></param>
/// <param name="bLastLoginTime"></param>
/// <param name="eLastLoginTime"></param>
public void CreateExcel(string UserID, string UserName, string UserStatus, string Gender, string Mobile, string bAddTime, string eAddTime, string bLastLoginTime, string eLastLoginTime)
{ SearchItem.UserSearchItem item = new SearchItem.UserSearchItem();
if (UserName != null && !UserName.Equals(""))
item.UserName = UserName;
if (UserID != null && !UserID.Equals("") && UserID != "undefined")
item.UserID = int.Parse(UserID);
//*******
if (UserStatus != null && !UserStatus.Equals("") && !UserStatus.Equals("null"))
item.UserStatus = int.Parse(UserStatus);
if (Gender != null && !Gender.Equals("") && !Gender.Equals("null"))
item.Gender = int.Parse(Gender);
if (Mobile != null && !Mobile.Equals(""))
item.Mobile = Mobile;
//************
if (bAddTime != "null" && bAddTime != null && !bAddTime.Equals("") && bAddTime != "undefined")
item.bAddTime = Convert.ToDateTime(bAddTime);
if (eAddTime != null && !eAddTime.Equals("") && eAddTime != "undefined")
item.eAddTime = Convert.ToDateTime(eAddTime);
if (bLastLoginTime != null && !bLastLoginTime.Equals("") && bLastLoginTime != "undefined")
item.bLastLoginTime = Convert.ToDateTime(bLastLoginTime);
if (eLastLoginTime != null && !eLastLoginTime.Equals("") && eLastLoginTime != "undefined")
item.eLastLoginTime = Convert.ToDateTime(eLastLoginTime);
//if (Status != null && !Status.Equals("") && Status != "null")
// item.Status = Convert.ToInt32(Status); Dictionary<string, string> columnInfo = new Dictionary<string, string>();
columnInfo.Add("UserID", "编号");
columnInfo.Add("UserName", "用户名");
columnInfo.Add("TrueName", "真实姓名");
columnInfo.Add("Gender", "性别");
columnInfo.Add("Email", "邮箱");
columnInfo.Add("Mobile", "手机");
columnInfo.Add("Area", "地域");
columnInfo.Add("UserStatus", "状态");
columnInfo.Add("AddTime", "注册时间");
columnInfo.Add("RegisterIP", "注册IP");
columnInfo.Add("LastLoginTime", "最后登录时间");
columnInfo.Add("LastLoginIP", "最后登录IP"); var objList = new UserInfoDAL().GetListExcel(item);
var time = DateTime.Now;
var strtime = time.ToString("yyyyMMddHHmm");
string FileName = "用户列表导出" + strtime + ".xls";
//生成EXCEL的HTML
string excelStr = "";
Type myType = objList[].GetType();
//根据反射从传递进来的属性名信息得到要显示的属性
List<System.Reflection.PropertyInfo> myPro = new List<System.Reflection.PropertyInfo>();
foreach (string cName in columnInfo.Keys)
{
System.Reflection.PropertyInfo p = myType.GetProperty(cName);
if (p != null)
{
myPro.Add(p);
excelStr += columnInfo[cName] + "\t";
}
}
//如果没有找到可用的属性则结束
//if (myPro.Count == 0) { return; }
excelStr += "\n";
foreach (UserInfo obj in objList)
{
foreach (System.Reflection.PropertyInfo p in myPro)
{
var d = p.GetValue(obj, null);
if (p.Name == "Gender" && p.GetValue(obj, null) != null)
{
var status = p.GetValue(obj, null).ToString();
string sta = "";
if (status == "")
sta = "女";
else if (status == "")
sta = "男";
else
sta = "未定义";
excelStr += sta + "\t";
}
else if (p.Name == "UserStatus" && p.GetValue(obj, null) != null)
{
var status = p.GetValue(obj, null).ToString();
string sta = "";
if (status == "")
sta = "正常";
else if (status == "")
sta = "禁止";
else
sta = "未定义";
excelStr += sta + "\t";
}
else
excelStr += p.GetValue(obj, null) + "\t";
}
excelStr += "\n";
}
//输出EXCEL
HttpResponse rs = System.Web.HttpContext.Current.Response;
rs.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
rs.AppendHeader("Content-Disposition", "attachment;filename=" + FileName);
rs.ContentType = "application/ms-excel";
rs.Write(excelStr);
rs.End(); }
UserInfoDAL()
public List<UserInfo> GetListExcel(SearchItem.UserSearchItem item)
{
/*
var order = extitem.Sort + " " + extitem.Dir; var search = item.UserStatus < 0 ? QueryBuilder.Create<UserInfo>()
.Like(c => c.UserName, item.UserName)
.Like(c => c.Mobile, item.Mobile)
.Equals(c => c.UserID, item.UserID)
.Equals(c => c.Gender, item.Gender)
.Between(c => c.AddTime, item.bAddTime.HasValue ? item.bAddTime.Value : DateTime.MinValue.AddYears(1990), item.eAddTime.HasValue ? item.eAddTime.Value.AddDays(1) : DateTime.MaxValue)
.Between(c => c.LastLoginTime, item.bLastLoginTime.HasValue ? item.bLastLoginTime.Value : DateTime.MinValue.AddYears(1990), item.eLastLoginTime.HasValue ? item.eLastLoginTime.Value.AddDays(1) : DateTime.MaxValue)
.LessThan(c => c.UserStatus, 0) :
QueryBuilder.Create<UserInfo>()
.Like(c => c.UserName, item.UserName)
.Like(c => c.Mobile, item.Mobile)
.Equals(c => c.Gender, item.Gender)
.Equals(c => c.UserStatus, item.UserStatus)
.Between(c => c.AddTime, item.bAddTime.HasValue ? item.bAddTime.Value : DateTime.MinValue.AddYears(1990), item.eAddTime.HasValue ? item.eAddTime.Value.AddDays(1) : DateTime.MaxValue)
.Between(c => c.LastLoginTime, item.bLastLoginTime.HasValue ? item.bLastLoginTime.Value : DateTime.MinValue.AddYears(1990), item.eLastLoginTime.HasValue ? item.eLastLoginTime.Value.AddDays(1) : DateTime.MaxValue)
.Equals(c => c.UserID, item.UserID);
*/ var search = item.UserStatus < ? QueryBuilder.Create<UserInfo>()
.Like(c => c.UserName, item.UserName)
.Like(c => c.Mobile, item.Mobile)
.Equals(c => c.UserID, item.UserID)
.Equals(c => c.Gender, item.Gender)
.Between(c => c.AddTime, item.bAddTime.HasValue ? item.bAddTime.Value : DateTime.MinValue.AddYears(), item.eAddTime.HasValue ? item.eAddTime.Value.AddDays() : DateTime.MaxValue)
.Between(c => c.LastLoginTime, item.bLastLoginTime.HasValue ? item.bLastLoginTime.Value : DateTime.MinValue.AddYears(), item.eLastLoginTime.HasValue ? item.eLastLoginTime.Value.AddDays() : DateTime.MaxValue)
.LessThan(c => c.UserStatus, ) :
QueryBuilder.Create<UserInfo>()
.Like(c => c.UserName, item.UserName)
.Like(c => c.Mobile, item.Mobile)
.Equals(c => c.Gender, item.Gender)
.Equals(c => c.UserStatus, item.UserStatus)
.Between(c => c.AddTime, item.bAddTime.HasValue ? item.bAddTime.Value : DateTime.MinValue.AddYears(), item.eAddTime.HasValue ? item.eAddTime.Value.AddDays() : DateTime.MaxValue)
.Between(c => c.LastLoginTime, item.bLastLoginTime.HasValue ? item.bLastLoginTime.Value : DateTime.MinValue.AddYears(), item.eLastLoginTime.HasValue ? item.eLastLoginTime.Value.AddDays() : DateTime.MaxValue)
.Equals(c => c.UserID, item.UserID);
//int OrderStatus = -4;
//if (!int.TryParse(osi.OrderStatus, out OrderStatus))
//{
// search.In(c => c.OrderStatus, OrderStatus);
//}
var list = (from o in Udc.tb_UserInfo
select new UserInfo
{
//OrderID = t.OrderID,
//OrderTime = t.OrderTime,
//UserName = Udc.tb_UserInfo.SingleOrDefault(r => r.UserID.Equals(t.UserID)).UserName,
UserID = o.UserID,
UserName = o.UserName,
Email = o.Email,
Gender = o.Gender,
Mobile = o.Mobile,
Provice = o.Provice,
City = o.City,
Prefecture = o.Prefecture,
Area = o.Provice + o.City,
UserImage = o.UserImage,
LearnIndex = o.LearnIndex,
TeachIndex = o.TeachIndex,
GoodComments = o.GoodComments,
UserStatus = o.UserStatus,
TrueName = o.TrueName,
IdentyNum = o.IdentyNum,
Introduce = o.Introduce,
ActiveInfo = o.ActiveInfo,
BuyGoodComments = o.BuyGoodComments,
Attention = o.Attention,
Extend = o.Extend,//**************
Img = o.Img,
ReferrerID = o.ReferrerID,//************
AddTime = o.AddTime,
StrGrade = o.Grade,
U_School = o.School,
PassWord = o.Password,
Birthday = o.birthday,
RegisterIP = o.RegisterIP,
LastLoginIP = o.LastLoginIP,
LastLoginTime = o.LastLoginTime }).Where(search.Expression).ToList();//.ToPagedList(esi.Start / esi.Limit + 1, esi.Limit);
return list;
}
Excel 数据导出的更多相关文章
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇二:WinForm开发扇形图统计和Excel数据导出
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...
- excel数据导出新妙招
之前在做项目的时候需要将数据库中的数据导出为excel表格一遍打印查阅,在网上找了很多插件也没有找到自己理想的好用的插件(也就是说没有找到令我满意的插件),最近在学习a标签的相关知识时理解到,a标签不 ...
- java实现Excel数据导出
java实现Excel数据导出: 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel Jakarta POI 是一套用于访问微软格式文档的Java ...
- php做EXCEL数据导出导入开发的一些小问题
前两天刚刚做开发CRM系统项目,在做要做EXCEL导出导入功能,因为以前做.NET开发用的是NPOI,但可是没找到PHP版本的,所以就网搜找了个国外的开源PHPEXCEL , 一开始只是做了简单的导入 ...
- .Net之Nopi Excel数据导出和批量导入功能
一.介绍NPOI和编写demo的原因 1.Npoi是什么: 它是一个专门用于读写Microsoft Office二进制和OOXML文件格式的.NET库,我们使用它能够轻松的实现对应数据的导入,导出功能 ...
- python Excel数据导出
import pymysql,os,time,xlwtpymysql.install_as_MySQLdb() try: #创建一个excel工作簿,编码utf-8,表格中支持中文 wb=xlwt.W ...
- epplus excel数据导出(数据量有点大的情况) Web和Client
Asp.net MVC后台代码 public ActionResult Export() { OfficeOpenXml.ExcelPackage ep = new OfficeOpenXml.Exc ...
- PHPExcel 导入Excel数据 (导出下一篇我们继续讲解)
一:使用composer下载 phpoffice/phpexcel 或者直接下载安装包 composer require phpoffice/phpexcel 二 1:导入数据 原理:读取文件,获取文 ...
- 通过java反射实现的excel数据导出
Excel.java @SuppressWarnings("deprecation") public static <T> void ExportExcel(Strin ...
随机推荐
- 《转载-两篇很好的文章整合》Android中自定义控件
两篇很好的文章,有相互借鉴的地方,整合到一起收藏 分别转载自:http://blog.csdn.net/xu_fu/article/details/7829721 http://www.cnblogs ...
- java设计模式(1)
设计模式定义 设计模式原则 设计模式分类 常用设计模式 (一)设计模式定义 设计模式是针对软件设计中普遍存在的各种问题,所提出的解决方案. 换句话说,设计模式是一套被反复使用,多数人知晓的.经过分类的 ...
- 【VB超简单入门】五、基本输出输入
之前讲了VB IDE的基本操作和概念,接下来要开始将VB语言的编程了. 程序最重要的部分是输出和输入,输入数据,经过计算机处理,再输出结果.本文将介绍两种最基本的输出输入方法,分别是Print.Msg ...
- js原生API----查找dom
一.祖先接口Node,及他的扩展接口EventTarget Node是一个接口,许多DOM类型从这个接口继承,并允许类似地处理(或测试)这些各种类型. 以下接口都从Node继承其方法和属性: Docu ...
- 数据结构(三) 用java实现七种排序算法。
很多时候,听别人在讨论快速排序,选择排序,冒泡排序等,都觉得很牛逼,心想,卧槽,排序也分那么多种,就觉得别人很牛逼呀,其实不然,当我们自己去了解学习后发现,并没有想象中那么难,今天就一起总结一下各种排 ...
- mybatis generator 插件安装及使用
现在Mybatis特别火,但是在开发中却要经常写实体类和配置文件,会不会特别烦人,所以可以利用Mybatis的代码生成插件来生成这部分代码: 1,打开eclipse,点击Help>Softwar ...
- 老李分享:webservice是什么?
老李分享:webservice是什么? 前言 Web Services 是 Web 应用出于和其他 Web 应用以交互数据为目的的开放式标准(XML.SOAP.HTTP 等).Web Servic ...
- 不可不知的 Android strings.xml 那些事
相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加规范易用,大家来看看吧. ...
- shell脚本练习题
下面列出了几个linux学习中的shell脚本题目 1.九九乘法表 #!/bin/bash echo "九九乘法表" # 注意((之间不能有空格.加减乘除的格式.还有转义字符\*. ...
- Filter execution threw an exception 错误
Filter execution threw an exception 错误,我在web.xml中配置了一个filter用spring来解决懒加载的问题,为什么就会包这个错 java.lang.NoS ...