星空网 > 软件开发 > ASP.net

Aspose.Cells导出Excel(1)

利用Aspose.Cells导出excel

注意的问题

1、DataTable的处理

2、进行编码,便于中文名文件下载

3、别忘了Aspose.Cells.dll(可以自己在网上搜索)

public static bool DataTableToExcel2(DataTable datatable, string filepath, out string error){  error = "";  Aspose.Cells.Workbook wb = new Aspose.Cells.Workbook();  try  {    if (datatable == null)    {      error = "DataTableToExcel:datatable 为空";      return false;    }    //为单元格添加样式      Aspose.Cells.Style style = wb.Styles[wb.Styles.Add()];    //设置居中    style.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;    //设置背景颜色    style.ForegroundColor = System.Drawing.Color.FromArgb(153, 204, 0);    style.Pattern = BackgroundType.Solid;    style.Font.IsBold = true;    int rowIndex = 0;    for (int i = 0; i < datatable.Columns.Count; i++)    {      DataColumn col = datatable.Columns[i];      string columnName = col.Caption ?? col.ColumnName;      wb.Worksheets[0].Cells[rowIndex, i].PutValue(columnName);      wb.Worksheets[0].Cells[rowIndex, i].SetStyle(style);    }    rowIndex++;    foreach (DataRow row in datatable.Rows)    {      for (int i = 0; i < datatable.Columns.Count; i++)      {        wb.Worksheets[0].Cells[rowIndex, i].PutValue(row[i].ToString());      }      rowIndex++;    }    for (int k = 0; k < datatable.Columns.Count; k++)    {      wb.Worksheets[0].AutoFitColumn(k, 0, 150);    }    wb.Worksheets[0].FreezePanes(1, 0, 1, datatable.Columns.Count);    wb.Save(filepath);    return true;  }  catch (Exception e)  {    error = error + " DataTableToExcel: " + e.Message;    return false;  }}protected void btnExport_Click(object sender, EventArgs e){//导出  int ClassID = 0;  int.TryParse(hidClassID.Value, out ClassID);  string error = "";  string filepath = "";  BLL.TUser bll_TUser = new BLL.TUser();  BLL.TClass bll_Class = new BLL.TClass();  Model.TClass model = (new BLL.TClass()).GetModel(ClassID);  //处理DataTable  DataTable dt = bll_TUser.GetListByClass(ClassID);  DataTable dtNew = new DataTable();  dtNew.Columns.Add("姓名", typeof(string));  dtNew.Columns.Add("学号", typeof(string));  dtNew.Columns.Add("性别", typeof(string));  dtNew.Columns.Add("电话", typeof(string));  if (dt != null && dt.Rows.Count > 0)  {    DataRow drNew = dtNew.NewRow();    foreach (DataRow dr in dt.Rows)    {      //drNew = dtNew.NewRow();      drNew["姓名"] = dr["UserName"];      drNew["学号"] = dr["IDNO"];      drNew["性别"] = dr["Sex"].ToString() == "1" ? "男" : (dr["Sex"].ToString() == "2" ? "女" : "");      drNew["电话"] = dr["Phone"];      dtNew.Rows.Add(drNew.ItemArray);    }  }  if (model != null)  {    filepath = "/UploadFiles/ExportClass/";// + model.ClassName + ".xlsx";    string filaname = model.ClassName + ".xlsx";    string finalPath = MapPath("~" + filepath + filaname);    //检查有该路径是否就创建    if (!Directory.Exists(MapPath("~/UploadFiles/ExportClass/")))    {      Directory.CreateDirectory(MapPath("~/UploadFiles/ExportClass/"));    }    if (DataTableToExcel2(dtNew, finalPath, out error))    {      string SiteRoot = "http://" + Request.Url.Authority.ToString() + filepath + Uri.EscapeDataString(filaname); //进行编码,便于中文名文件下载      //下载excel      ClientScript.RegisterStartupScript(this.GetType(), "", ",<script type='text/javascript'>window.open('" + SiteRoot + "');</script>");    }    else    {      ClientScript.RegisterStartupScript(this.GetType(), "", "<script type='text/javascript'>alert('提示', '" + error + "!');</script>");    }  }  else  {    ClientScript.RegisterStartupScript(this.GetType(), "", "<script type='text/javascript'>alert('提示', '班级不存在!');</script>");  }}

Aspose.Cells导出Excel(1) 




原标题:Aspose.Cells导出Excel(1)

关键词:ASP

ASP
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

2018年跨境电商行业十大政策盘点与解读!:https://www.ikjzd.com/articles/13980
组合注册VS分开注册!为什么建议组合商标分开申请?:https://www.ikjzd.com/articles/139800
2020年第四季度泰国法规新资讯:https://www.ikjzd.com/articles/139801
Wish:英国订单怎么处理?少了这件东西无法发货...:https://www.ikjzd.com/articles/139802
新规!从英国发往欧盟国家的包裹将需要海关申报:https://www.ikjzd.com/articles/139803
如何快速的有效赶走跟卖?一试一个准!:https://www.ikjzd.com/articles/139804
永康白云风景区怎么走 白云山风景区怎么去??:https://www.vstour.cn/a/363181.html
2022世界杯门票如何买?:https://www.vstour.cn/a/363182.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流