先上代码
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.加上取值就出现以上错误;
2.去掉取值正常显示如下图;
3.把AI.data替换成文字,带上取值显示如下图;
初学java还不太熟悉,掉大坑里了,求拉一把。帮忙找一下具体是AI.data还是公式vlookup还是取值出问题了,网上好多在说是单元格格式问题不知道是不是。
(PS:已经卡了一个星期了,尝试N种修改,还是不行啊)