using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using Aspose.Cells; using System.Web; namespace Quiz.WebsiteAnalysis { public class Tool { #region 同一页面分页 /// /// 分页 /// /// /// /// /// /// public static string PageBar(int PageCount, int CurrentIndex, string page, string param = "", string pagename = "page") { string _PageBar = ""; if (PageCount > 1) { _PageBar += "
"; if (CurrentIndex == 1) { _PageBar += "<上一页"; } else { _PageBar += "<上一页"; } int i = 1; if (PageCount <= 10) { for (int time = 0; i + time <= PageCount; time++) { if ((i + time) == CurrentIndex) { _PageBar += "" + (i + time) + ""; } else { _PageBar += "" + (i + time) + ""; } } } else { if (CurrentIndex <= 5) { for (int time = 1; time <= (CurrentIndex == 5 ? 7 : 5); time++) { if ((time) == CurrentIndex) { _PageBar += "" + (time) + ""; } else { _PageBar += "" + (time) + ""; } } _PageBar += "..." + PageCount + ""; } if (CurrentIndex > 5) { _PageBar += "1..."; if (CurrentIndex >= PageCount - 5) { for (int time = PageCount - 5; time <= PageCount; time++) { if ((time) == CurrentIndex) { _PageBar += "" + (time) + ""; } else { _PageBar += "" + (time) + ""; } } } else { for (int time = CurrentIndex; time < CurrentIndex + 5; time++) { if ((time) == CurrentIndex) { _PageBar += "" + (time) + ""; } else { _PageBar += "" + (time) + ""; } } _PageBar += "..." + PageCount + ""; } } } if (CurrentIndex == PageCount) { _PageBar += "下一页>"; } else { _PageBar += "下一页>"; } _PageBar += "
"; } return _PageBar; } #endregion #region 导出excel /// /// DataTable导出到Excel /// /// DataTable /// 文件名 public static void DataTableToExcel(DataTable dt, string fileName) { DataTableToExcel(dt, fileName, "Sheet1"); } /// /// DataTable导出到Excel /// /// DataTable /// 文件名 /// 工作表名 public static void DataTableToExcel(DataTable dt, string fileName, string sheetName) { Workbook wb = new Workbook(); Worksheet ws = wb.Worksheets[0]; ws.Name = sheetName; ws.Cells.ImportDataTable(dt, true, 0, 0, dt.Rows.Count, dt.Columns.Count, false, "yyyy-MM-dd"); Style1(wb); Send(wb, fileName); } #region 样式 //默认样式 private static void Style1(Workbook wb) { Worksheet ws = wb.Worksheets[0]; Aspose.Cells.Style titleStyle = wb.Styles[wb.Styles.Add()]; titleStyle.HorizontalAlignment = TextAlignmentType.Center; //水平居中 titleStyle.Font.IsBold = true; //加粗 //titleStyle.Borders.SetStyle(CellBorderType.Thin); //titleStyle.Borders.SetColor(System.Drawing.Color.Black); StyleFlag sf = new StyleFlag(); sf.Borders = true; //标题样式 Range rTitle = ws.Cells.CreateRange(0, 0, 1, ws.Cells.MaxColumn + 1); rTitle.Style = titleStyle; rTitle.RowHeight = 20; //标题高 //加边框 //Range r = ws.Cells.CreateRange(0, 0, ws.Cells.MaxRow + 1, ws.Cells.MaxColumn + 1); //r.ApplyStyle(titleStyle, sf); ws.AutoFilter.SetRange(0, 0, ws.Cells.MaxColumn);//筛选 //ws.FreezePanes(1, 0, 1, 0); //ws.IsGridlinesVisible = false; ws.AutoFitColumns(); } #endregion #region 下载 //下载 private static void Send(Workbook wb, string fileName) { HttpResponse response = HttpContext.Current.Response; response.Clear(); //response.Buffer = true; if (fileName.ToLower().EndsWith("xlsx")) { wb.Save(HttpUtility.UrlEncode(fileName), FileFormatType.Excel2007Xlsx, SaveType.OpenInExcel, response); } else if (fileName.ToLower().EndsWith("xls")) { wb.Save(HttpUtility.UrlEncode(fileName), FileFormatType.Excel2003, SaveType.OpenInExcel, response); } else { Send(wb, fileName + ".xlsx"); } response.Flush(); try { //response.End(); HttpContext.Current.ApplicationInstance.CompleteRequest(); } catch(Exception ex) { } } //下载 private static void Send(WorkbookDesigner wbd, string fileName) { HttpResponse response = HttpContext.Current.Response; response.Clear(); if (fileName.ToLower().EndsWith("xlsx")) { wbd.Save(HttpUtility.UrlEncode(fileName), SaveType.OpenInExcel, FileFormatType.Excel2007Xlsx, response); } else if (fileName.ToLower().EndsWith("xls")) { wbd.Save(HttpUtility.UrlEncode(fileName), SaveType.OpenInExcel, FileFormatType.Excel2003, response); } else { Send(wbd, fileName + ".xlsx"); } response.Flush(); response.End(); } #endregion #endregion } }