c#使用COM接口设置excel单元格宽高匹配图片,如何计算?

c#使用COM接口设置excel单元格宽高如何换算

在实际工作中,经常需要在excel中插入图片。并设置单元格与图片对齐。但是excel单元格的宽度和高度使用不同的单位。单元格的宽度以字符宽度为单位,而高度以点为单位。如果按照实际值来设置,例如设置宽=100和高=100,实际显示效果如下,100的宽度是很长的。

为了确保图片在单元格中正确显示,我们需要对期望的宽高值进行适当的换算。通过实践,发现我的电脑上设置w=107,h=20,则单元格实际显示为正方形。取近似值方便计算,得到r=h/w=20/108=5.0/27。这样,用r去换算实际的宽高,就可以得到单元格应该设置的数值。

举例:

有一张图片W=200,H=100。设置单元格高度h=100,则换算单元格w = 100 * (image width / image height) * r = 37。所以设置单元格大小为

cell.ColumnWidth=37

cell.RowHeight = 100;

在把图片高度也设置为imgObj.Height = 100;

这样,图片恰好放置在单元格内。

相关推荐
hqyjzsb2 小时前
从爱好到专业:AI初学者如何跨越CAIE认证的理想与现实鸿沟
大数据·c语言·人工智能·信息可视化·职场和发展·excel·业界资讯
Macbethad4 小时前
区块链技术在分布式系统中的应用实践技术报告
开发语言·c#
玩泥巴的5 小时前
如何在.NET系统中快速集成飞书任务分配能力
c#·.net·二次开发·飞书
bugcome_com6 小时前
深入理解 C# 特性(Attribute):概念、实现与实战
c#·.net
WebRuntime6 小时前
所有64位WinForm应用都是Chromium浏览器(2)
javascript·c#·.net·web
Sunsets_Red8 小时前
待修改莫队与普通莫队优化
java·c++·python·学习·算法·数学建模·c#
vfvfb8 小时前
excel对比找不同人名 双xlsx双列对比
excel·excel多列对比
时光追逐者9 小时前
一款基于 .NET 9 构建的企业级 Web RBAC 快速开发框架
前端·c#·.net·.net core
想你依然心痛9 小时前
【TextIn大模型加速器+火山引擎】打造智能文档处理流水线:从跨国药企手册到金融单据核验的全链路实战
金融·c#·火山引擎
kingwebo'sZone9 小时前
win11智能应用控制已阻止此应用
c#