123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.IO;
- using System.Text;
- namespace Toolkits
- {
- public class ExportHelper
- {
- //获取列名委托方法
- public delegate string GetColumnName(string columnName);
- //#region 导入导出Excel相关
- ///// <summary>
- ///// 将泛类型集合List类转换成DataTable
- ///// </summary>
- ///// <param name="list">泛类型集合</param>
- ///// <returns>返回转换后的DataTable</returns>
- //public static DataTable ListToDataTable<T>(List<T> entitys)
- //{
- // //生成DataTable的structure
- // var dt = new DataTable();
- // try
- // {
- // //检查泛型实体是否为空
- // if (entitys == null || entitys.Count < 1)
- // {
- // return dt;
- // }
- // //取出第一个实体的所有Propertie
- // var entityType = entitys[0].GetType();
- // var entityProperties = entityType.GetProperties();
- // for (var i = 0; i < entityProperties.Length; i++)
- // {
- // dt.Columns.Add(entityProperties[i].Name);
- // }
- // //将所有entity添加到DataTable中
- // foreach (object entity in entitys)
- // {
- // //检查所有的的实体都为同一类型
- // if (entity.GetType() != entityType)
- // {
- // throw new Exception("要转换的集合元素类型不一致");
- // }
- // var entityValues = new object[entityProperties.Length];
- // for (var i = 0; i < entityProperties.Length; i++)
- // {
- // entityValues[i] = entityProperties[i].GetValue(entity, null);
- // }
- // dt.Rows.Add(entityValues);
- // }
- // }
- // catch (Exception e)
- // {
- // Console.WriteLine(e);
- // }
- // return dt;
- //}
- ///// <summary>
- ///// 将dataTable转换为Excel字节流
- ///// </summary>
- ///// <param name="dt"></param>
- ///// <param name="getColumnName"></param>
- ///// <returns></returns>
- //public static byte[] GetExcelForXLSX(DataTable dt, GetColumnName getColumnName)
- //{
- // var xssfworkbook = new XSSFWorkbook();
- // var sheet = xssfworkbook.CreateSheet("Sheet");
- // //表头
- // var row = sheet.CreateRow(0);
- // for (var i = 0; i < dt.Columns.Count; i++)
- // {
- // var cell = row.CreateCell(i);
- // //列名称,数据库中字段
- // var columnName = dt.Columns[i].ColumnName;
- // var convertColumnName = getColumnName(columnName);
- // cell.SetCellValue(convertColumnName);
- // }
- // //数据
- // for (var i = 0; i < dt.Rows.Count; i++)
- // {
- // var row1 = sheet.CreateRow(i + 1);
- // for (var j = 0; j < dt.Columns.Count; j++)
- // {
- // var cell = row1.CreateCell(j);
- // cell.SetCellValue(dt.Rows[i][j].ToString());
- // }
- // }
- // //转为字节数组
- // var stream = new MemoryStream();
- // xssfworkbook.Write(stream);
- // var buf = stream.ToArray();
- // return buf;
- //}
- //#endregion
- }
- }
|