zoukankan      html  css  js  c++  java
  • NPOI 导出Excel插入图片、设置边框样式、合并单元格、字体样式等小知识

    1.设置单元格上边框为黑色实线

    ICellStyle cellStyleTail = sheet.Workbook.CreateCellStyle();

    cellStyleTail.BorderTop = BorderStyle.Thin;

    https://blog.csdn.net/ezreal_pan/article/details/81134701

    2.插入图片方法

    #region 插入图片

       var path = AppDomain.CurrentDomain.BaseDirectory + "File/Images/logo1.png";

       byte[] bytes = System.IO.File.ReadAllBytes(path);

       int pictureIdx = workbook.AddPicture(bytes, PictureType.PNG);

       IDrawing patriarch = sheet.CreateDrawingPatriarch();

     

        //HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 100, 50, col, row, col + 1, row + 1);

        //##处理照片位置,【图片左上角为(col, row)第row+1行col+1列,右下角为( col +1, row +1)第 col +1+1行row +1+1列,宽为100,高为50

        //public XSSFClientAnchor(int dx1, int dy1, int dx2, int dy2, int col1, int row1, int col2, int row2);

       IClientAnchor anchor = new XSSFClientAnchor(0, 0, 250, 167, 7, 0, 9, 0);

       IPicture pict = (XSSFPicture)patriarch.CreatePicture(anchor, pictureIdx);

       pict.Resize();

    #endregion

    3.合并单元格

    // 指从0行到0行,从0列到第4列合并

    sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 4));

    4.居中

    ICellStyle cellStyleCenter = sheet.Workbook.CreateCellStyle();

    cellStyleCenter.Alignment = HorizontalAlignment.Center;

    5. 字体加粗、字号大小

    //字体加粗

    ICellStyle cellStyleTitle = sheet.Workbook.CreateCellStyle();

    var font = workbook.CreateFont();

    font.Boldweight = (short)FontBoldWeight.Bold;

    font.FontHeightInPoints = 12;

    //font.FontHeightInPoints = (short)8.5;字号为小数时要转为short

    cellStyleTitle.SetFont(font);

    6.将样式作用在哪个单元格中

    //將樣式cellStyleTitle作用在行rowTitle2列Cells[0]上

    rowTitle2.Cells[0].CellStyle = cellStyleTitle;

    7.创建excel、样式、sheet、行等

    //新建一个excel

    XSSFWorkbook workbook = new XSSFWorkbook();

    //excel样式

    XSSFCellStyle style = (XSSFCellStyle)workbook.CreateCellStyle();    

    //创建一个sheet

    ISheet sheet = workbook.CreateSheet(Table.TableName);

    //创建一个样式

    ICellStyle cellStyleTitle = sheet.Workbook.CreateCellStyle();

    //创建一个行

    NPOI.SS.UserModel.IRow rowTitle2 = sheet.CreateRow(0);

    8.单元格赋值

    rowTitle2.CreateCell(0).SetCellValue("STATEMENT OF ACCOUNT");

    9. 给指定sheet的内容设置每列宽度

    List<int> widthlist = new List<int>();

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

        {

            widthlist.Add(3000);

    }

    int[] widths = widthlist.ToArray()

    //给指定sheet的内容设置每列宽度(index从0开始,width1000相当于excel设置的列宽3.81)

    for (int i = 0; i < widths.Length; i++)

        {

           sheet.SetColumnWidth(i, widths[i]);

         }

    10.设置无边距

    //创建一个sheet

    ISheet sheet = workbook.CreateSheet(dt.TableName);

    sheet.SetMargin(MarginType.LeftMargin, 0);

    sheet.SetMargin(MarginType.RightMargin, 0);

    sheet.SetMargin(MarginType.BottomMargin, 0);

    sheet.SetMargin(MarginType.TopMargin, 0);

    sheet.FitToPage = false;

    11.单元格背景颜色

    ICellStyle cellStyleBold = sheet.Workbook.CreateCellStyle();

    cellStyleBold.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Yellow.Index;

    cellStyleBold.FillPattern = FillPattern.SolidForeground;

    rowEnd3.Cells[0].CellStyle = cellStyleBold;

    颜色对照表

    https://www.cnblogs.com/byxxw/p/5265127.html

  • 相关阅读:
    codeforces 672B B. Different is Good(水题)
    codeforces 672A A. Summer Camp(水题)
    poj-1273 Drainage Ditches(最大流基础题)
    hdu-3592 World Exhibition(差分约束)
    poj-1201 Intervals(差分约束)
    解决Windows只能打英文输入法图标不见不显示问题
    Windows查看MD5码
    Windows中类似 linux netstat grep命令
    清空所有账户回收站
    PLSQL dev字符集乱码设置
  • 原文地址:https://www.cnblogs.com/guangfangxiaokeai/p/12518079.html
Copyright © 2011-2022 走看看