通过 NPOI 生成 Excel

        HSSFWorkbook hssfworkbook;
        ISheet sheet1;

        public void BuildExcel()
        {
            hssfworkbook = new HSSFWorkbook();
            // 新建一个Excel页签
            sheet1 = hssfworkbook.CreateSheet("Sheet1");

            // 创建新增行
            for (var i = 0; i < 10;i++ )
            {
                IRow row1 = sheet1.CreateRow(i);
                for (var j = 0; j < 10; j++)
                {
                    //新建单元格
                    ICell cell = row1.CreateCell(j);



                    // 单元格赋值
                    cell.SetCellValue("单元格"+j.ToString());
                }
            }
            
            // 设置行宽度
            sheet1.SetColumnWidth(2, 10 * 256);


            // 获取单元格 并设置样式
            ICellStyle styleCell = hssfworkbook.CreateCellStyle();
            //居中
            styleCell.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;
            //垂直居中 
            styleCell.VerticalAlignment = VerticalAlignment.Top;
            ICellStyle cellStyle = hssfworkbook.CreateCellStyle();

            //设置字体
            IFont fontColorRed = hssfworkbook.CreateFont();
            fontColorRed.Color = HSSFColor.OliveGreen.Red.Index;

            styleCell.SetFont(fontColorRed);

            
            sheet1.GetRow(2).GetCell(2).CellStyle = styleCell;

            // 合并单元格
            sheet1.AddMergedRegion(new CellRangeAddress(2, 4, 2, 5));


            // 输出Excel
            string filename = "cnblogs.rhythmk.com.导出.xls";
            var context = HttpContext.Current;
            context.Response.ContentType = "application/vnd.ms-excel";
            context.Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", context.Server.UrlEncode(filename)));
            context.Response.Clear();

           
            MemoryStream file = new MemoryStream();
            hssfworkbook.Write(file);
            context.Response.BinaryWrite(file.GetBuffer());
            context.Response.End();

          

        }

  

posted @ 2014-07-09 13:17  Rhythmk  阅读(9420)  评论(0编辑  收藏  举报
Rhythmk 个人笔记