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);
    }
  • 相关阅读:
    syslog
    setting-url配置
    计划任务_crontab
    css
    git之一: git基础
    LeetCode 第 151 场周赛
    LeetCode 第 149 场周赛
    LeetCode 第 150 场周赛
    【解决方案】SpringCloud项目优雅发版、部署
    NAT(地址转换技术)学习
  • 原文地址:https://www.cnblogs.com/kuku/p/10007264.html
Copyright © 2011-2022 走看看