背景:我编写了 R 代码来创建使用 openxlsx 导出到 Excel 模板中的数据汇总表。每个新数据集的表格大小和内容都不同,通常跨越许多页面。数据行的高度都相同,但每一页的底部还有一个脚注,其高度可以不同。我有 openxlsx 代码来调整脚注行的高度,它必须足够大以适合文本,但又足够小,这样该行就不会被推到下一页。该代码是专有的,我不能发布它,但这里有一个例子*:
setRowHeights(
wb,
sheet=excel.tab,
rows=c(rowlist$lastrow.excel),
heights=footnote.height2
)
*除“wb”之外的所有输入都在程序的其他地方动态分配。
问题:据我所知,openxlsx 只允许您以 Excel 行高单位指定行高,而不是像英寸这样的标准测量值。根据我正在使用的特定计算机显示器,这似乎会导致行高大不相同(以英寸为单位,并以适合相同的确切页面模板为准)。例如,当我的笔记本电脑连接到我的工作站时运行良好的代码在我在笔记本电脑的显示器上工作时会产生巨大的行。我之前遇到过与 XLConnect 包相同的问题,这让我认为这是 R 如何与 Excel 交互的一般问题,而不是 openxlsx 的独特限制。
我注意到其他 openxlsx 函数允许您输入屏幕的 DPI(在某些情况下包括垂直和水平 DPI)以进行缩放,这使我得出结论,DPI 的差异可能会导致屏幕之间的缩放差异。不幸的是,我还没有找到将特定屏幕的 DPI 导入 R 以调整 setRowHeights 输入以与该屏幕一起使用的方法。
我花了无数时间研究和解决这个问题,但没有运气。任何建议将不胜感激!