您现在的位置是:网站首页> 编程资料编程资料

ASP.NET WebAPI导出CSV_实用技巧_

2023-05-24 307人已围观

简介 ASP.NET WebAPI导出CSV_实用技巧_

一、JS脚本

window.open("../Ticket/ExportTicket");

二、后台实现代码

[HttpGet] public ActionResult ExportTicket(TicketSearch search) {   if (search != null)   {     search.CurrentPage = 1;     search.PageSize = 0;   }   string[] lstTitles = new string[] { "编号", "标题"};   int TotalCount = 0;   List lstTicketData = ListTicketEntityToData(search, out TotalCount);   List lstData = new List();   foreach (TicketData itemData in lstTicketData)   {     string[] data = new string[]   {   itemData.Barcode,   itemData.Label,   itemData.SiteId.ToString(),   Helper.Htmlhelper.GetSiteInfo(itemData.SiteId),   itemData.Owner,   string.IsNullOrEmpty(itemData.CardId) ? "" : itemData.CardId,   itemData.StartDate == null ? "" : itemData.StartDate.Value.ToString("yyyy-MM-dd HH:mm"),   itemData.EndDate == null ? "" : itemData.EndDate.Value.ToString("yyyy-MM-dd HH:mm"),   itemData.IsValid.ToString(),   itemData.IsUsed.ToString(),   itemData.CreateTime.ToString("yyyy-MM-dd HH:mm")   };   lstData.Add(data);   }   string ExportFileName = Helper.ImportExport.ExportData(lstTitles, lstData);   return File(new System.IO.FileStream(ExportFileName, System.IO.FileMode.Open), "application/octet-stream", "Ticket" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".csv"); } public static string ExportData(string[] lstTitles, List lstData) {   try   {     lock (RunningExport)     {       string TemplatePath = AppDomain.CurrentDomain.BaseDirectory + "Export";       string FullFileName = AppDomain.CurrentDomain.BaseDirectory + "Export\\template.csv";       if (Directory.Exists(TemplatePath))       {         if (File.Exists(FullFileName))         File.Delete(FullFileName);       }       else       {         Directory.CreateDirectory(TemplatePath);       }       if (lstTitles.Length <= 0)       {         return null;       }       FileStream fs = new FileStream(FullFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);       StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);       string data = "";       foreach (string itemTitle in lstTitles)       {         data += itemTitle + ",";       }       sw.WriteLine(data.TrimEnd(','));       foreach (string[] itemData in lstData)       {         data = "";         foreach (string itemChildData in itemData)         {           data += itemChildData + ",";         }         sw.WriteLine(data.TrimEnd(','));       }       sw.Close();       fs.Close();       return FullFileName;     }   }   catch (Exception)   {     return null;   } }

到此这篇关于ASP.NET WebAPI导出CSV的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

-六神源码网