Java实现获取Excel中的表单控件

 更新时间:2022年05月27日 11:45:42   作者:E-iceblue  
Excel中可通过【开发工具】菜单栏下插入表单控件,如文本框、单选按钮、复选框、组合框等等。本文将利用Java实现获取Excel中的表单控件,需要的可以参考一下

Excel中可通过【开发工具】菜单栏下插入表单控件,如文本框、单选按钮、复选框、组合框等等,插入后的控件可执行设置控件格式,如大小、是否锁定、位置、可选文字、数据源区域、单元格链接等。当Excel中已插入上述控件,需要读取时,也可以使用本文中的方法来读取。下面,将通过Java代码示例展示如何来获取Excel文档中的表单控件。以下是读取的方法及步骤,供参考。

引入jar包

按照如下方法来引用Spire.Xls.jar 版本:5.1.0

方法1

将 Free Spire.XLS for Java 包 下载 到本地,解压,找到lib文件夹下的Spire.Xls.jar文件。然后在IDEA中打开“Project Structure”界面,然后执行如图步骤来手动导入本地路径下的jar文件:

方法2:通过 Maven仓库 下载导入,如下配置pom.xml:

<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <name>e-iceblue</name>
            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.xls.free</artifactId>
        <version>5.1.0</version>
    </dependency>
</dependencies>

代码示例

Java

import com.spire.xls.*;
import com.spire.xls.core.ICheckBox;
import com.spire.xls.core.IRadioButton;
import com.spire.xls.core.ISpinnerShape;

public class GetFormControl {
    public static void main(String[] args) {
        //创建Workbook类的实例,加载Excel文档
        Workbook wb = new Workbook();
        wb.loadFromFile("AddControls.xlsx");

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

        //获取TextBox
        String textbox =  sheet.getTextBoxes().get(0).getText();
        System.out.println(textbox);

        //获取Radio Button
        for(int i = 0; i<sheet.getRadioButtons().getCount();i++)
        {
            IRadioButton radioButton = sheet.getRadioButtons().get(i);
            String name = radioButton.getCheckState().name();
            String text = radioButton.getText();
            boolean islocked = radioButton.isLocked();
            System.out.println(name + text + " 是否锁定:"+ islocked);
        }

        //获取Combo Box控件中的选中的值(注:非列表中所有选项值)
        String value =  sheet.getComboBoxes().get(0).getSelectedValue();
        System.out.println(value);

        //获取Checkbox
        for(int z = 0;z< sheet.getCheckBoxes().getCount();z++)
        {
            ICheckBox checkBox = sheet.getCheckBoxes().get(z);
            String text = checkBox.getText();
            String name = checkBox.getCheckState().name();
            String alternativetext = checkBox.getAlternativeText();
            System.out.println(text + name + alternativetext);
        }

        //获取SpinnerShape
        for(int j  = 0;j<sheet.getSpinnerShapes().getCount();j++)
        {
            ISpinnerShape spinnerShape = sheet.getSpinnerShapes().get(j);
            String rangeAddress = spinnerShape.getLinkedCell().getRangeAddress();
            int currentValue = spinnerShape.getCurrentValue();
            System.out.println(rangeAddress + "\n" + currentValue);
        }

    }
}

获取效果如图所示:

到此这篇关于Java实现获取Excel中的表单控件的文章就介绍到这了,更多相关Java获取Excel表单控件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 超实用的Java快捷键(总结)

    超实用的Java快捷键(总结)

    下面小编就为大家带来一篇超实用的Java快捷键(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • shiro拦截认证的全过程记录

    shiro拦截认证的全过程记录

    Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理,下面这篇文章主要给大家介绍了关于shiro拦截认证的相关资料,需要的朋友可以参考下
    2021-11-11
  • java Object wait方法详细介绍

    java Object wait方法详细介绍

    这篇文章主要介绍了java Object wait方法详细介绍的相关资料,需要的朋友可以参考下
    2017-02-02
  • SpringBoot的@Conditional条件注解详解

    SpringBoot的@Conditional条件注解详解

    这篇文章主要介绍了SpringBoot的@Conditional条件注解详解,打开每个自动配置类,都会看到@Conditional或其衍生的条件注解,本节我们来认识下@Conditional注解,需要的朋友可以参考下
    2023-12-12
  • Java使用TCP套接字实现多人聊天功能详解

    Java使用TCP套接字实现多人聊天功能详解

    这篇文章主要介绍了Java使用TCP套接字实现多人聊天功能,结合实例形式详细分析了java使用socket通信实现tcp协议下的聊天功能客户端与服务器端相关实现技巧,需要的朋友可以参考下
    2019-10-10
  • 解析Java编程之Synchronized锁住的对象

    解析Java编程之Synchronized锁住的对象

    这篇文章主要介绍了解析Java编程之Synchronized锁住的对象,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • java实现从网上下载图片到本地的方法

    java实现从网上下载图片到本地的方法

    这篇文章主要介绍了java实现从网上下载图片到本地的方法,涉及java针对文件操作的相关技巧,非常简单实用,需要的朋友可以参考下
    2015-07-07
  • java中创建、写入文件的5种方式

    java中创建、写入文件的5种方式

    这篇文章主要介绍了java中创建、写入文件的5种方式,帮助大家更好的理解学习Java io的相关知识,感兴趣的朋友可以了解下
    2020-08-08
  • SpringDataRedis入门和序列化方式解决内存占用问题小结

    SpringDataRedis入门和序列化方式解决内存占用问题小结

    spring-data-redis是spring-data模块的一部分,专门用来支持在spring管理项目对redis的操作,这篇文章主要介绍了SpringDataRedis入门和序列化方式解决内存占用问题,需要的朋友可以参考下
    2022-12-12
  • @MapperScan和@ComponentScan一块使用导致冲突的解决

    @MapperScan和@ComponentScan一块使用导致冲突的解决

    这篇文章主要介绍了@MapperScan和@ComponentScan一块使用导致冲突的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11

最新评论