zoukankan      html  css  js  c++  java
  • 使用像素单位设置 EXCEL 列宽或行高

    在导出 Excel 的时候, 经常要需要给列设置宽度或给行设置高度, 在使用 NPOI 或 EppPlus 等组件进行操作的时候, 列宽和行高的单位都不是像素, 好像是英寸,具体是啥也说不清。

    平常在使用单位时, 已经习惯使用像素了, 所以希望在 EXCEL 里设置列宽或行高时也使用像素。

    之前在使用 Aspose.Cells 时, 发现这个组件有个 SetRowHeightPixel 方法, 可以使用像素设置行高, 于是使用反编译看了一下实现原理:

    private static float GetDpiX()
    {
        try
        {
            using (Bitmap image = new Bitmap(1, 1))
            {
                using (Graphics graphics = Graphics.FromImage(image))
                {
                    return graphics.DpiX;
                }
            }
        }
        catch
        {
            return 72;
        }
    }
    
    
    public void SetRowHeightPixel(int row, int pixels)
    {
        double height = (double)((float)pixels * 72f / (float)GetDpiX());
        this.SetRowHeight(row, height);
    }
  • 相关阅读:
    algorithm 使用经验
    Overload, Override and Overwrite ( copy)
    stl sort使用经验
    list 删除制定元素
    php常用技巧
    php 日历源码
    stl smart指针
    一道华为笔试题 ,内存相关
    stl list使用。(转)
    List 使用经验
  • 原文地址:https://www.cnblogs.com/kuku/p/10007264.html
Copyright © 2011-2022 走看看