//访视导出
[HttpPost] public string exportExcel() { String DownloadPath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("."), "download\\FS").Replace("\\WebService", ""); string path = DownloadPath + "\\FS"; //创建目录 if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string TemplatesPath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("."), "Template\\FSExcel.xlsx").Replace("\\WebService", ""); string Name = "访视" + System.DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xlsx"; List<DataTable> list = new List<DataTable>(); for (int i = 1; i <= 13; i++) { string sql = "select * from FS_" + i; list.Add(TDataBase.TDatabase.ExecuteDataTable(sql)); } DataTableToExcel(list, DownloadPath, TemplatesPath, Name); return Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(Name)); }
/// <summary>
/// DataTable导出到Excel /// </summary> /// <param name="dataTable">DataTable</param> /// <param name="SavePath">保存路径</param> /// <param name="templatePath">模板路径</param> /// <param name="isFieldNameShown">是否显示列头</param> /// <param name="firstRow">行的起始索引</param> /// <param name="firstColumn">列的起始索引</param> /// <returns>保存路径</returns> public static string DataTableToExcel(List<DataTable> list ,string SavePath, string templatePath, string Name, bool isFieldNameShown = true, int firstRow = 1, int firstColumn = 0) { string SavePath1 = SavePath + "\\" + Name; Workbook workbook = new Workbook(); workbook.Open(templatePath); try { for (int i = 0; i < list.Count; i++) { workbook.Worksheets[i].Cells.ImportDataTable(list[i], isFieldNameShown, firstRow, firstColumn); workbook.Worksheets[i].Cells.DeleteRow(1); workbook.Worksheets[i].AutoFitRows(); workbook.Worksheets[i].AutoFitColumns(); } workbook.Save(SavePath1); return SavePath1; } catch (Exception error) { return error.Message; } }}