list集合导出Excel文件(二)
2017-10-23 16:17
323 查看
第二种导出Excel的方法,思路差不多。
调用:
/// <summary> /// Excle导出数据 /// </summary> /// <typeparam name="T">类对象</typeparam> /// <param name="list">对象数据</param> /// <param name="column">类字段,字段对应列名</param> /// <param name="filename">excel表名</param> public void OutExcel<T>(List<T> list, Dictionary<string, string> column, string FileName) { if (list == null || list.Count == 0 || column == null || column.Count == 0) { return; } StringWriter sw = new StringWriter(); string title = string.Empty; foreach (KeyValuePair<string, string> kvp in column) { title += kvp.Value + "\t"; } title = title.Substring(0, title.LastIndexOf("\t")); sw.WriteLine(title); Type objType = typeof(T); BindingFlags bf = BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static;//反射标识 PropertyInfo[] propInfoArr = objType.GetProperties(bf); //获取映射列表 foreach (T model in list) { System.Text.StringBuilder data = new System.Text.StringBuilder(); foreach (string key in column.Keys) { foreach (PropertyInfo propInfo in propInfoArr) { if (key == propInfo.Name)//判断头相对应的字段 { PropertyInfo modelProperty = model.GetType().GetProperty(propInfo.Name); if (modelProperty != null) { object objResult = modelProperty.GetValue(model, null);//获取值 data.Append(((objResult == null) ? string.Empty : objResult) + "\t"); } } } } var temp = data.ToString(); temp = temp.Substring(0, temp.LastIndexOf("\t")); sw.WriteLine(temp); } sw.Close();//读取数据结束 HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8) + ".xls"); HttpContext.Current.Response.ContentType = "application/ms-excel"; HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); HttpContext.Current.Response.Write(sw.ToString()); HttpContext.Current.Response.End(); }
调用:
public void DataExport() { string time = this.SelType.InnerText; string filePath = DateTime.Now.ToString("yyyyMMddhhmmss") + "信息查询"; string condition = "1=1"; Dictionary<string, string> myDictionary = new Dictionary<string, string>(); myDictionary.Add("EmpID", "工号"); myDictionary.Add("Name", "姓名"); myDictionary.Add("BusID", "班车"); myDictionary.Add("BusLineID", "路线"); myDictionary.Add("StationID", "站定"); myDictionary.Add("CardTime", "上车时间"); List<CardRecord> list = new CC_CardRecord().Find(condition, pagerInfo, "EmpID"); if (list.Count > 0) { ExExcel<CardRecord>(list, myDictionary, filePath); OutExcel<CardRecord>(list, myDictionary, filePath); } }
相关文章推荐
- c# .Net :Excel NPOI导入导出操作教程之List集合的数据写到一个Excel文件并导出
- List集合导出成Excel表格
- 导出List列表中的数据到Excel文件,并提供下载
- ASP.NET ,EXT.NET都适用的Excel导出,主要使用List集合转化为Excel输出
- wpf 导出Excel Wpf Button 样式 wpf简单进度条 List泛型集合对象排序 C#集合
- 导入excel成一个list集合不支持大文件倒入(优化点在于分批分线程导入)
- ASP.Net 后台执行导出Excel list集合 有跨行合并
- java对Excel表格数据处理并以List集合返回(只要传Excel文件路径即可)
- DataGrid - 导出Excel文件
- Java 使用jxls导出小数据量excel文件
- 导出数据到一个Excel文件中去
- VB6数据导出到Excel文件,一种设计界面查询条件的方法,一种简单加密方法(改写)
- asp.net 生成导出word表单 ,导出excel; dataTable生成xls文件,返回前台下载;asp.net启动excel错误 80070005;excel-xls columnName 不能改变; 读写excel的开源利器NPOI; 设置excel Cell的数据类型;
- JavaWeb导出Excel文件并弹出下载框
- PHPExcel导入导出Excel文件
- C#导出excel或csv文件
- 利用POi3.8导出excel产生大量xml临时文件怎么办?
- 关于poi导出大数据量EXCEL导出缓慢的解决方案--生成xml格式的表格文件(注意xls格式为03 07下格式会不一样)
- ThinkPHP的使用(四)Excel文件导出