using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Web; namespace Ant.Service.Common { /// /// NPOI导出Excel /// public class ExportExcel { #region 数据导出为EXCEL public static void CreateExcel(DataTable dt, string fileName) { StringBuilder strb = new StringBuilder(); strb.Append(" "); strb.Append(" "); strb.Append(" "); strb.Append(" "); strb.Append(" "); strb.Append(" "); strb.Append(" "); strb.Append(" " + fileName + ""); strb.Append(" "); strb.Append(" 285"); strb.Append(" "); strb.Append(" "); strb.Append(" "); strb.Append(" 3"); strb.Append(" 1"); strb.Append(" "); strb.Append(" "); strb.Append(" False"); strb.Append(" False"); strb.Append(" False"); strb.Append(" "); strb.Append(" "); strb.Append(" 6750"); strb.Append(" 10620"); strb.Append(" 480"); strb.Append(" 75"); strb.Append(" False"); strb.Append(" False"); strb.Append(" "); strb.Append(" "); strb.Append(""); strb.Append(" "); if (dt.Rows.Count > 0) { strb.Append(""); //写列标题 int columncount = dt.Columns.Count; for (int columi = 0; columi < columncount; columi++) { strb.Append(" "); } strb.Append(" "); //写数据 for (int i = 0; i < dt.Rows.Count; i++) { strb.Append(" "); for (int j = 0; j < dt.Columns.Count; j++) { strb.Append(" "); } strb.Append(" "); } } strb.Append("
" + ColumnName(dt.Columns[columi].ToString()) + "
" + dt.Rows[i][j].ToString() + "
"); HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer = true; HttpContext.Current.Response.Charset = "utf-8"; HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName + ".xls"); HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;// HttpContext.Current.Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 //HttpContext.Current.p.EnableViewState = false; HttpContext.Current.Response.Write(strb); HttpContext.Current.Response.End(); } #endregion #region 列的命名 private static string ColumnName(string column) { switch (column) { case "area": return "地区"; case "tongxun": return "通讯费"; case "jietong": return "接通"; case "weijietong": return "未接通"; case "youxiao": return "有效电话"; case "shangji": return "消耗商机费"; case "zongji": return "总机费"; case "account": return "帐号"; case "extensionnum": return "分机"; case "accountname": return "商户名称"; case "transfernum": return "转接号码"; case "calledcalltime": return "通话时长(秒)"; case "callerstarttime": return "通话时间"; case "caller": return "主叫号码"; case "callerlocation": return "归属地"; case "callresult": return "结果"; case "Opportunitycosts": return "商机费"; case "memberfee": return "通讯费"; case "licenid": return "客服编号"; case "servicename": return "客服名称"; case "serviceaccount": return "客服帐号"; case "messageconsume": return "短信消耗"; case "receivingrate": return "接听率"; case "youxiaop": return "有效接听率"; case "telamount": return "电话量"; case "extennum": return "拨打分机个数"; case "telconnum": return "继续拨打分机次数"; case "listenarea": return "接听区域"; case "specialfield": return "专业领域"; case "calltime": return "接听时间"; case "userstart": return "当前状态"; case "currentbalance": return "当前余额"; case "call400all": return "400电话总量"; case "call400youxiao": return "400有效电话量"; case "call400consume": return "400消耗额"; case "call400avgopp": return "400平均商机费"; case "call800all": return "800电话总量"; case "call800youxiao": return "800有效电话量"; case "call800consume": return "800消耗额"; case "call800avgopp": return "800平均商机费"; case "callall": return "电话总量"; case "callyouxiao": return "总有效电话量"; case "callconsume": return "总消耗额"; case "callavgoppo": return "总平均商机费"; case "hr": return "小时"; case "shangji400": return "400商机费"; case "shangji800": return "800商机费"; case "tongxun400": return "400通讯费"; case "tongxun800": return "800通讯费"; case "zongji400": return "400总机费"; case "zongji800": return "800总机费"; case "datet": return "日期"; case "opentime": return "开通时间"; case "allrecharge": return "充值金额"; case "Userstart": return "状态"; case "allnum": return "总接听量"; case "cbalance": return "合作金额"; case "allmoney": return "续费额"; case "username": return "商户账号"; case "isguoqi": return "是否过期"; case "accounttype": return "商户类型"; case "mphone": return "客户手机号"; case "specialText": return "专长"; case "uuname": return "客服"; case "opentimes": return "合作时间"; case "shangjifei": return "商机费"; } return ""; } #endregion } }