蓗乐 2022-02-05 12:28 采纳率: 66.7%
浏览 82
已结题

java在用poi 运行公式取值时遇到问题

先上代码

public class Test3 {

    public static void main(String[] args) throws Exception {
        
        FileInputStream inps = new FileInputStream("C:\\Users\\Administrator\\IdeaProjects\\语音合成\\原始数据.xls");
        HSSFWorkbook wb = new HSSFWorkbook(inps);

        Sheet sheet = wb.getSheet("原始数据表");
        Row row = sheet.createRow(0);//创建行
        Cell cell = row.createCell(0);//创建一个单元格, 第一列
        cell.setCellValue(AI.data);  //给单元格设置值
        
        row.createCell(6).setCellValue(true);
        HSSFCell cell6 = (HSSFCell) row.createCell(6);
        cell6.setCellFormula("VLOOKUP(A1,H:I,2,FALSE)");  // 设置计算公式

        // 获取计算公式的值
        HSSFFormulaEvaluator e = new HSSFFormulaEvaluator(wb);
        cell6 = e.evaluateInCell(cell6);
        Object outputStream = cell6.getStringCellValue();
        System.out.println(outputStream);
        FileOutputStream fileOutputStream=new FileOutputStream("30.xls");
        wb.write(fileOutputStream);
        fileOutputStream.close();
    }
}

         String str = printResponse(conn);
         AI.data = str.substring(str.indexOf("[")+2, str.lastIndexOf("。"));

AI.data 在cell中正常显示它的文字部分,Vlookup公式在cell中显示的运行结果也没有问题。
但是:在获取计算公式的值的时候就出问题了,
1.加上取值就出现以上错误;

img

2.去掉取值正常显示如下图;

img

3.把AI.data替换成文字,带上取值显示如下图;

img

初学java还不太熟悉,掉大坑里了,求拉一把。帮忙找一下具体是AI.data还是公式vlookup还是取值出问题了,网上好多在说是单元格格式问题不知道是不是。
(PS:已经卡了一个星期了,尝试N种修改,还是不行啊)

  • 写回答

1条回答 默认 最新

  • Code_流苏 C/C++领域优质创作者 2022-02-05 12:47
    关注

    img

    大致翻译如下:. lang。ILLegalstateException:不能从错误单元格中获得一个字符串值。
    单元格出错了,题主检查检查单元格是否正确。

    以上仅供参考,如有任何疑问,可以评论回复,看到即回。
    希望对题主有所帮助!可以的话,点个采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月13日
  • 已采纳回答 2月5日
  • 创建了问题 2月5日

悬赏问题

  • ¥15 halcon DrawRegion 提示错误
  • ¥15 FastAPI Uvicorn启动显示404
  • ¥15 centos7.9脚本,怎么排除特定的访问记录
  • ¥15 关于#Django#的问题:我的静态文件呢?
  • ¥15 关于CPLEX的问题,请专家解答
  • ¥15 cocos的点击事件 怎么穿透到 原生fragment上。
  • ¥20 基于相关估计的TDOA算法中的加权最小二乘拟合法matlab仿真
  • ¥20 基于相关估计的TDOA算法中的自适应加权广义互相关法。
  • ¥15 abaqus CAE 2024软件启动问题
  • ¥20 基于相关估计的TDOA算法中的局部互相关函数滤波matlab仿真