• 使用像素单位设置 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);
    }
  • 相关阅读:
    Oracle:解锁scott用户及设置密码
    js生成条形码
    返回头部效果
    密码强度
    事件委托小效果
    圆形导航效果
    进度条效果
    标题跟随效果
    随机抽人小效果
    点击创建效果
  • 原文地址:https://www.cnblogs.com/kuku/p/10007264.html
Copyright © 2020-2023  润新知