Mvc,asp.net c# Aspose.cell导出表格,合并单元格,设置样式

来源:互联网 发布:c语言华氏度与摄氏度 编辑:程序博客网 时间:2024/04/19 23:59

导出效果


首先分享下aspose.cell导出的关键点:为每一个cell单元格填充数据

这里我也只使用了cell,merge

首先你要下载aspose.Cells.dll

然后使用它的类方法

如下关键代码

using Aspose.Cells;

using System.Drawing;

  Workbook workbook= new Workbook();

  Worksheet sheet= (Worksheet)workbook.Worksheets[0];

  Cells cells= sheet.Cells;//单元格

 //为标题设置样式     

  Style styleTitle= workbook.Styles[workbook.Styles.Add()];//新增样式

  styleTitle.HorizontalAlignment= TextAlignmentType.Center;//文字居中

  styleTitle.Font.Name= "宋体";//文字字体

  styleTitle.Font.Size= 14;//文字大小

  styleTitle.Font.IsBold= true;//粗体

  styleTitle.Borders[BorderType.LeftBorder].LineStyle= CellBorderType.None;

  styleTitle.Borders[BorderType.RightBorder].LineStyle= CellBorderType.None;

styleTitle.Borders[BorderType.TopBorder].LineStyle= CellBorderType.None;

styleTitle.Borders[BorderType.BottomBorder].LineStyle= CellBorderType.None;

/

表头需要合并单元格

 cells.Merge(0,0,1,8);//

 cells[0,0].PutValue("运行病历返修");//为单元格设值

 for (var i= 0; i < 8; i++)

            {

                cells[0, i].SetStyle(styleTitle);

            }

就这些知识点就可以制作表格样式了

接下来是导出

 //下载

                var fileName= "运行病历返修_" + DateTime.Now.ToString("yyyy-MM-dd")+ ".xls";

 

base.DownloadFile(workbook.SaveToStream().ToArray(), fileName, Request.Browser.Browser);//这里调用了父类的文件下载方法

//文件下载的方法

 public void DownloadFile(byte[] bytes, string fileName,string broswer= "IE")

        {

            if (fileName!= null)

            {

                HttpContext.Response.Clear();

                HttpContext.Response.Charset= "UTF-8";

                HttpContext.Response.ContentEncoding= Encoding.GetEncoding("UTF-8");

                HttpContext.Response.ContentType= "application/octet-stream";

                //string encodefileName = ToHexString(fileName);

                if (broswer== "InternetExplorer" || broswer== "IE" || broswer== "Edge")

                {

                    fileName= System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);//解决IE浏览器中文件名乱码

                }

                string headerValue= string.Format("attachment; filename=\"{0}\"", fileName);

                HttpContext.Response.AddHeader("Content-Disposition", headerValue);

                HttpContext.Response.BinaryWrite(bytes);

                HttpContext.Response.Flush();

                HttpContext.Response.End();

            }

        }


0 0
原创粉丝点击