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 ...
随机推荐
- Jmeter-元件的作用域和执行顺序
Jmeter有8类可执行的元件,包括:逻辑控制器.配置元件.定时器.前置处理器.取样器.后置处理器.断言和监听器. 测试计划和线程组不属于元件. 1)取样器(Sampler):不与其他元件发生交互作用 ...
- HTMLElement
参考文档:MDN HTMLElement 一.继承关系 所有HTML元素都是由HTMLElement或者其更具体的子类型来表示的. HTMLElement继承自Element,并实现了GlobalEv ...
- 20155231 2016-2017-2 《Java程序设计》第5周学习总结
# 20155231 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 学习目标 理解异常架构 掌握try...catch...finally处理异常的方法 会 ...
- 在Activiti中如何使用自定义的组织架构
1.概述 我们知道,activiti是一个不错的流程引擎,它有自身的人员组织架构,但仅限于用户.用户组的管理,流程产生的任务(UserTask),就涉及到任务的所属人(Owner),任务的执行人(as ...
- 第一个python爬虫程序
1.安装Python环境 官网https://www.python.org/下载与操作系统匹配的安装程序,安装并配置环境变量 2.IntelliJ Idea安装Python插件 我用的idea,在工具 ...
- PID控制算法研究
1.matlab模糊控制工具箱:http://blog.csdn.net/gameboy12615/article/details/6367459 2.书籍:先进PID控制MATLAB仿真/刘金琨著 ...
- JavaScript 格式化时间
//格式化 yyyy-MM-dd hh:mm:ss function renderTime(date) { if (date == '' || date == null) { return ''; } ...
- AES算法,DES算法,RSA算法JAVA实现
1 AES算法 1.1 算法描述 1.1.1 设计思想 Rijndael密码的设计力求满足以下3条标准: ① 抵抗所有已知的攻击. ② 在多个平台上速度快,编码紧凑. ③ 设计 ...
- NOIP2014D2T2寻找道路
洛谷传送门 这道题可以把边都反着存一遍,从终点开始深搜,然后把到不了的点 和它们所指向的点都去掉. 最后在剩余的点里跑一遍spfa就可以了. --代码 #include <cstdio> ...
- 关于string类型定义占几个字节??
测试代码: #include <iostream>using namespace std;int main(void){ string name; cout<<"si ...