新建工作薄 生成工作表縮略圖 添加PDF書簽 添加圖片的超鏈接 設置工作表標簽顏色 創建數據透視圖和數據透視表 字體的上標和下標效果 設置工作表背景圖片 設置單元格屬性 換行符和文字環繞 設置公式的註意事項 Excel工作表中插入/刪除行 先行後列填充數據 生成Excel的方法 在單元格中如何添加邊... ...
首先,需要添加引用Aspose.Cells.dll,官網下載地址:http://downloads.aspose.com/cells/net
將DataTable導出Xlsx格式的文件下載(網頁輸出):
1 /// <summary> 2 /// 導出Excel表格 3 /// </summary> 4 /// <param name="list">數據集合</param> 5 /// <param name="header">數據表頭</param> 6 /// <returns></returns> 7 public void ExportExcel(DataTable dt, string[] header) 8 { 9 Workbook wb = new Workbook(FileFormatType.Xlsx); 10 try 11 { 12 Worksheet sheet = wb.Worksheets[0]; 13 sheet.Name = "MO上行查詢結果"; 14 if (dt.Rows.Count <= 0) 15 { 16 System.Web.HttpContext.Current.Response.Write("<script>alert('沒有檢測到需要導出數據!');</script>"); 17 return; 18 } 19 // 為單元格添加樣式 20 Aspose.Cells.Style style = wb.CreateStyle(); 21 style.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center; //設置居中 22 style.Font.Size = 12;//文字大小 23 style.Font.IsBold = true;//粗體 24 style.HorizontalAlignment = TextAlignmentType.Center;//文字居中 25 26 int rowIndex = 0; 27 for (int i = 0; i < header.Length; i++) 28 { 29 sheet.Cells[rowIndex, i].PutValue(header[i]); 30 sheet.Cells[rowIndex, i].SetStyle(style); 31 sheet.Cells.SetColumnWidth(i, 20);//設置寬度 32 } 33 for (int i = 0; i < dt.Rows.Count; i++)//遍歷DataTable行 34 { 35 sheet.Cells[i + 1, 0].PutValue(dt.Rows[i]["SENDER"].ToString()); 36 sheet.Cells[i + 1, 1].PutValue(dt.Rows[i]["SENDCONTENT"].ToString()); 37 sheet.Cells[i + 1, 2].PutValue(""); 38 sheet.Cells[i + 1, 3].PutValue(dt.Rows[i]["RECDATE"].ToString()); 39 sheet.Cells[i + 1, 4].PutValue(dt.Rows[i]["sn"].ToString()); 40 } 41 } 42 catch (Exception e) 43 { 44 System.Web.HttpContext.Current.Response.Write("<script>alert('導出異常:" + e.Message + "!');</script>"); 45 } 46 #region 輸出到Excel 47 using (MemoryStream ms = new MemoryStream()) 48 { 49 50 wb.Save(ms, new OoxmlSaveOptions(SaveFormat.Xlsx));//預設支持xls版,需要修改指定版本 51 System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xlsx", DateTime.Now.ToString("yyyyMMddHHmmssfff"))); 52 System.Web.HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"; 53 System.Web.HttpContext.Current.Response.BinaryWrite(ms.ToArray()); 54 wb = null; 55 System.Web.HttpContext.Current.Response.End(); 56 } 57 #endregion 58 }
其它相關參考:
https://my.oschina.net/u/876556/blog/98801
http://www.cnblogs.com/top5/archive/2010/02/16/1668801.html
http://www.cnblogs.com/springyangwc/archive/2011/08/12/2136498.html