Java 冻结或解除冻结Excel中的行和列

Excel表格中有大量数据时,为了方便浏览,我们可通过冻结窗口这一功能将某几行或某几列的数据冻结起来,这样在我们滚动窗口时,这几行或几列的数据就会被固定住,而不会随着其他单元格的移动而移动。总的来说,Excel冻结窗口可细分为三类:冻结行、冻结列及同时冻结行和列。本文将通过使用Java程序来演示如何冻结或解除冻结Excel中的行和列。

使用工具: Free Spire.XLS for Java (免费版)

Jar文件获取及导入:

方法1:通过 官网 下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)

Java 冻结或解除冻结Excel中的行和列

方法2:通过maven仓库安装导入。具体安装教程详见 此网页 。

【示例1】冻结行和列

Part 1 冻结首行

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class FreezeTopRows {
    public static void main(String[] args) {
        //创建Workbook对象
        Workbook workbook = new Workbook();

        //加载一个示例文档
        workbook.loadFromFile("C://Users//Test1//Desktop//Sample.xlsx");

        //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //冻结第一行
        sheet.freezePanes(2,1);

        //保存文档
        workbook.saveToFile("output/FreezeFirstRow.xlsx", ExcelVersion.Version2016);

    }
}

结果文档:

Java 冻结或解除冻结Excel中的行和列

Part 2 冻结首列

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class FreezeFirstColumn {
    public static void main(String[] args) {
        //创建Workbook对象
        Workbook workbook = new Workbook();

       //加载一个示例文档
        workbook.loadFromFile("C://Users//Test1//Desktop//Sample.xlsx");

       //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

       //冻结首列
        sheet.freezePanes(1,2);

       //保存文档
        workbook.saveToFile("output/FreezeFirstColumn.xlsx", ExcelVersion.Version2016);
    }
}

结果文档:

Java 冻结或解除冻结Excel中的行和列

Part 3 同时冻结行和列

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class FreezeSpecificRowAndColumn {
    public static void main(String[] args) {
        //创建Workbook对象
        Workbook workbook = new Workbook();

        //加载一个示例文档
        workbook.loadFromFile("C://Users//Test1//Desktop//Sample.xlsx");

        //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //冻结前两行两列
        sheet.freezePanes(3,3);

        //保存文档
        workbook.saveToFile("output/FreezeSpecificRowsAndColumns.xlsx", ExcelVersion.Version2016);
    }
}

结果文档:

Java 冻结或解除冻结Excel中的行和列

【示例2】解除冻结行和列

import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;

public class UnfreezeRowsAndColumn {
    public static void main(String[] args) {
        //创建Workbook对象
        Workbook workbook = new Workbook();

        //加载一个示例文档
        workbook.loadFromFile("C://Users//Test1//Desktop//FreezeSpecificRowsAndColumns.xlsx");

        //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //取消冻结窗口
        sheet.removePanes();

        //保存文档
        workbook.saveToFile("output/UnfreezePanes.xlsx", ExcelVersion.Version2016);
    }
}

(本文完)

原文 

https://segmentfault.com/a/1190000022084486

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java 冻结或解除冻结Excel中的行和列

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址