1 /// <summary> 2 /// 获取本地存储地址 3 /// </summary> 4 /// <param name="dt"></param> 5 /// <param name="prefix">前缀类别</param> 6 /// <returns></returns> 7 public string GetDwonLoadlPath(DataTable dt, string prefix) 8 { 9 string filename = System.Configuration.ConfigurationManager.AppSettings[prefix].ToString() + Guid.NewGuid() + ".xlsx"; 10 string filePath = System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath + "\File\Download\" + filename; 11 string returnpath = System.Web.Hosting.HostingEnvironment.ApplicationVirtualPath + "/File/Download/" + filename; 12 ExcelHelper.DataTableToExcel(dt, filePath); 13 return System.Configuration.ConfigurationManager.AppSettings["DomainName"] + returnpath; 14 }
public class TransitionHelper { private static volatile TransitionHelper drugParamsHelper = null; private static object syncRoot = new Object(); public TransitionHelper() { } /// <summary> /// 初始化注册 /// </summary> public static TransitionHelper Instance { get { if (drugParamsHelper == null) { lock (syncRoot) { if (drugParamsHelper == null) { drugParamsHelper = new TransitionHelper(); } } } return drugParamsHelper; } } /// <summary> /// 获取本地存储地址 /// </summary> /// <param name="dt"></param> /// <param name="prefix">前缀类别</param> /// <returns></returns> public string GetDwonLoadlPath<T>(List<T> list,Dictionary<string,string> dic, string path) { DataTable dataTable = ListTranDataTableHelper.ToDataTable(list, dic); return GetDwonLoadlPath(dataTable, path); } public string GetDwonLoadlPath(DataTable dt, string path) { string Domain = AppsettingsHelper.app(new string[] { "ApplicationDomain" }).ObjToString(); string subpath = @"/Export/"; string fullpath = path + subpath; DicCreate(fullpath); string filename = Guid.NewGuid() + ".xlsx"; string fullfilepath = fullpath + filename; EplusExcleHelper.DataTableToExcel(dt, fullfilepath); return Domain+subpath+filename; } /// <summary> /// 文件目录如果不存在,就创建一个新的目录 /// </summary> /// <param name="path"></param> private void DicCreate(string path) { if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } } }
调用示例
string filepath = TransitionHelper.Instance.GetDwonLoadlPath(list, RenameColumDic, webRootPath);
//转换列名称成中文名 Dictionary<string, string> RenameColumDic = new Dictionary<string, string>(); queryParams.colCollection.ForEach(f => { RenameColumDic.Add(f.FieldName, f.DisplayName); }); //将对象转成datatble DataTable dataTable = ListTranDataTableHelper.ToDataTable<ClinicalRegistrationCach>(list, RenameColumDic, queryParams.colCollection.Select(c => c.FieldName).ToArray()); return new Response<string>(DrugParamsHelper.Instance.GetDwonLoadlPath(dataTable, "CDEExclsName"));