Java 设置Excel自适应行高、列宽

在excel中,可通过设置自适应行高或列宽自动排版,是一种比较常用的快速调整表格整体布局的方法。设置自适应时,可考虑2种情况:
1.固定数据,设置行高、列宽自适应数据(常见的设置自适应方法)
2.固定列宽,缩小数据字体大小适应列宽
本文将通过java程序来介绍具体的自适应设置方法。
 
工具:Free Spire.XLS for Java免费版
:可通过官网下载包,并解压将lib文件夹下的jar文件导入java程序;或者通过maven仓库下载并导入。
参考如下导入效果:

Java 代码示例

1. 固定数据,设置行高、列宽自适应数据

(此自适应方法可对指定单元格数据或者整个工作表来设置)

import com.spire.xls.*;

public class AutoFit {
    public static void main(String[] args) {
        //创建一个Workbook类的对象,并加载测试文档
        Workbook wb = new Workbook();
        wb.loadFromFile("sample.xlsx");

        //获取工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //设置行高、列宽为自适应(应用于指定数据范围)
        sheet.getAllocatedRange().get("A1:E14").autoFitRows();
        sheet.getAllocatedRange().get("A1:E14").autoFitColumns();

        /*//设置行高、列宽为自适应(应用于整个工作表)
        sheet.getAllocatedRange().autoFitRows();
        sheet.getAllocatedRange().autoFitColumns();*/

        //保存文档
        wb.saveToFile("result.xlsx", FileFormat.Version2010);
        wb.dispose();
    }
}

自适应设置效果:

2. 缩小数据字体大小适应列宽

import com.spire.xls.*;

public class ShrinkToFit {
    public static void main(String[] args) {
        Workbook wb = new Workbook();
        wb.loadFromFile("test.xlsx");
        //获取第一张工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //指定需要自动缩小字体的单元格范围
        CellRange cell = (CellRange) sheet.get("A1");

        //设置ShrinkToFit为true,缩小数据以适应单元格
        cell.getStyle().setShrinkToFit(true);

        //保存文档
        wb.saveToFile("ShrinkTextToFitCell.xlsx", ExcelVersion.Version2013);
        wb.dispose();
    }
}

文本缩小效果:


(本文完)

原文地址:https://www.cnblogs.com/Yesi/p/12294176.html

时间: 2024-11-06 10:39:50

Java 设置Excel自适应行高、列宽的相关文章

Excel快速删除空白行与调整行高列宽的方法,学会了很实用

Excel表格作为大家经常使用的办公文档,在使用的过程中我们也会遇到各种问题,比如常见的行高列宽的调整.空白行的删除的等等.今天小编就为大家带来了Excel快速删除空白行与行高列宽的方法,希望可以帮助到大家. 一:调整行高列宽 作为Excel表格最常见的问题之一,我们在办公中常用到的调整行高列宽的方法主要有两种,都非常的简单方便. 方法1: 第一种方法也是最简单的一种方法,把鼠标光标放置在行高或者是列宽线条上时,就会出现一个[黑色双箭头]的标志,点击即可拉动线条调整行高.列宽.(唯一的弊端是行高

如何动态改变报表的行高列宽

报表应用中有时需要动态控制行高或列宽以满足特定需要.如分组报表中要求每个分组的总高度 / 宽度固定不变,这样一来就能实现每页纸打印相同数量的分组. 润乾报表可以在行高列宽属性中编写表达式,从而实现动态行高列宽,下面通过一个例子说明使用过程. 1.连接数据源 使用润乾报表设计器,连接自带数据源 DEMO 2.设置数据集 新建报表并设置数据集,使用 SQL 取数 数据集 ds1 如下: SELECT STATE,EID,NAME,SURNAME,GENDER,DEPT,SALARY FROM EMP

POI精确设置Excel的行高和列宽

EXCEL的行高度和列宽度单位是不一样的. 1,EXCEL列高度的单位是磅,Apache POI的行高度单位是缇(twip): 1英寸=72磅=25.4毫米=1440缇1磅=0.353毫米=20缇 POI中的行高=Excel的行高度*20 Excel的行高度=POI中的行高/20 这里顺便把像素的换行方法说一下: DPI = 1英寸内可显示的像素点个数.通常电脑屏幕是96DPI, IPhone4s的屏幕是326DPI, 普通激光黑白打印机是400DPI 要计算POI行高或者Excel的行高,就先

datagridview 行高列宽的自动设置

1) 设定行高和列宽自动调整 [C#]// 设定包括Header和所有单元格的列宽自动调整 DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; // 设定包括Header和所有单元格的行高自动调整 DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; AutoSizeColumnsMode 属性的设定值枚

IOS---UITableViewCell自适应行高(非AutoLayout)

如题所示,本程序是使用非AutoLayout写的UITableView自适应行高,之后笔者将会写一个基于AutoLayout的自适应行高的小demo. PS:此小程序只适用于刚接触IOS的小朋友,只用做参考,毫无技术性,大神勿喷. 上代码: //UITableViewCell #import <UIKit/UIKit.h> @interface commentaryCell : UITableViewCell @property (retain, nonatomic) UILabel *use

1. DataGridView设置字体、行高、列宽、单列居中

DataGridView表格内容的列宽.行高.字体的设置,设置某一列居中.一般地,会将行高设为统一的,列宽根据不同情况设定. [csharp] view plaincopyprint? // 调整字体 dataGridView1.Font = new Font("宋体", 11); // 调整行高 //dataGridView1.Rows[0].Height = 100; dataGridView1.RowTemplate.Height = 30; dataGridView1.Upda

excel 2013如何设置某几行几列在滚动滚动条时一直显示

使用冻结窗口功能: 例如想要冻结2行3列,可以选中第3 行4列的单元格,然后选择冻结拆分单元格.

Sql Server Report 导出到EXCEL 指定行高

在SQL SERVER REPORT 2005做报表的时候,发现在report中指定的行高没有用.google了一下,找到了解决方法. Make both CanGrow and CanShrink are False for all of the cells in the row.  This is because Excel itself doesn't really have a concept of CanGrow and CanShrink - rather, all it can d

fastreport 如何 设置 richview 的 行高

richview中的行高改变有点特别.必须在AfterData 事件执行的时候才能修改: 也就是说,如果简单的放一个按钮,去发送消息给richView->RichEdit ,然后调用frxReport1->ShowReport 是没有用的 正确的做法如下 在C++ BUILDER 中增加一个函数SetLineSpace,用来修改RichView的行高 在Form的Create事件中,调用frxReport->AddFunction 方法注册一个函数SetLineSpace 在Form的C