在 Java 中从 Excel 获取文本框值 [英] Obtain textbox value from Excel in Java

查看:31
本文介绍了在 Java 中从 Excel 获取文本框值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 Excel 文件,我需要从该 Excel 文件内的文本框中读取一个值.

I have an Excel file and I need to read a value from a textbox inside that Excel file.

我正在使用 org.apache.poi 库,并尝试通过以下方式获取该值:

I am using org.apache.poi library and I tried to obtain the value in the following way:

   List<HSSFObjectData> obj=workbook.getAllEmbeddedObjects();
   for (int i = 0; i < obj.size(); i++) {           
       HSSFTextbox t = (HSSFTextbox) obj.get(i);
   }

不幸的是,我无法将 HSSFTextbox 转换为 HSSFObjectData 元素.

Unfortunetly I couldn't cast HSSFTextbox to a HSSFObjectData element.

有谁知道如何做到这一点?

Does anyone know how could this be done?

推荐答案

也许你可以这样做:

    try {
        InputStream input = new FileInputStream("qa-textbox.xls");
        POIFSFileSystem fs = new POIFSFileSystem(input);
        HSSFWorkbook wb = new HSSFWorkbook(fs);
        HSSFSheet sheet = wb.getSheetAt(0);
        HSSFPatriarch pat = sheet.getDrawingPatriarch();
        List children = pat.getChildren();

        Iterator it = children.iterator(); 
        while(it.hasNext()) {           
            HSSFShape shape = (HSSFShape)it.next();
            if (shape instanceof HSSFTextbox){
              HSSFTextbox textbox = (HSSFTextbox)shape;
              HSSFRichTextString richString = textbox.getString();
              String str = richString.getString();
              System.out.println("String: " + str);
              System.out.println("String length: " + str.length());
            }
        }  
    } catch (IOException ex) {
        ex.printStackTrace();
    }

这篇关于在 Java 中从 Excel 获取文本框值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆