如何在RubyXL中实现字体自动调整 让文本缩小适配Excel单元格
RubyXL实现Excel shrinkToFit文本适配单元格功能的方法
实现方式
RubyXL中可以直接通过单元格的change_alignment方法配置shrink_to_fit参数开启该功能,具体用法如下:
1. 单个单元格设置
# 获取目标工作表 worksheet = workbook[0] # 定位到A1单元格 target_cell = worksheet[0][0] # 开启文本缩小适配单元格功能 target_cell.change_alignment(shrink_to_fit: true)
2. 新建单元格时直接配置
# 第1个参数为行索引,第2个为列索引,第3个为单元格内容,第5个为对齐配置 worksheet.add_cell(0, 1, "超长测试文本内容", nil, { shrink_to_fit: true })
3. 批量设置(如整列配置)
# 给索引为2的C列所有已存在单元格开启适配 worksheet.each do |row| cell = row[2] next if cell.nil? cell.change_alignment(shrink_to_fit: true) end
注意事项
- 该属性和自动换行
wrap_text属性互斥,若同时开启两个配置,shrink_to_fit不会生效 - 所有配置完成后需要调用
workbook.write('导出文件路径.xlsx')保存修改才会写入最终Excel文件
内容的提问来源于stack exchange,提问作者Yoshihisa Okada
相关产品推荐
相关产品推荐

