java - 收到此错误:消息:java.lang.IllegalStateException:无法从数字单元格中获取文本值
问题描述
import com.itko.lisa.vse.stateful.model.TransientResponse;
import com.itko.lisa.vse.stateful.model.Response;
import com.itko.util.ParameterList;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.lang.String;
import org.apache.log4j.*;
import groovy.util.logging.*;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
FileInputStream fileInputStream = new FileInputStream("C:/Softwares/LISA/CBO_CurrentBalance1/Data/BalanceReport.xlsx");
//FileInputStream fileInputStream = new FileInputStream("/home/lisa-user/Data/CBOPayment.xlsx");
XSSFWorkbook workbook = new XSSFWorkbook(fileInputStream)
XSSFSheet sheet = workbook.getSheet("Sheet1");
XSSFRow row;
XSSFCell cell;
Iterator rows = sheet.rowIterator();
while (rows.hasNext()) {
row = (XSSFRow) rows.next();
Iterator cells = row.cellIterator();
AccountNumber1 = testExec.getStateObject("AccountNumber1")
AccountNumber2 = testExec.getStateObject("AccountNumber2")
if (AccountNumber1 == cells.next().getStringCellValue()) {
if(cells.hasNext()) {
Balance = cells.next().getNumericCellValue();
testExec.setStateValue("Balance1", Balance);
}
}
if (AccountNumber2 == cells.next().getStringCellValue()) {
if (cells.hasNext()) {
Balance = cells.next().getNumericCellValue();
testExec.setStateValue("Balance2", Balance);
}
}
}
解决方案
你需要这样的东西: 不要与命名约定混淆,因为这是我的代码之一。问题是
DataFormatter fmt = new DataFormatter(); String _charges = fmt.formatCellValue(sheet.getRow(45).getCell(CellReference.convertColStringToIndex("D")));
您正在做的是尝试从工作表中获取数值,而它被保存为字符串,因此您需要先将其转换为字符串,然后才能使用它。我粘贴的代码不是确切的解决方案,但我希望您能得到有关解决方案的提示。
推荐阅读
- swift - 如何将 Swift CoreData 值保存到数组中
- python - Python3-pip 不会安装包
- node.js - MongoDB 查询在 mongoshell 中需要 3 毫秒,但通过 nodejs mongoose 驱动程序,相同的查询需要大约 6000 毫秒
- python - 查找列之间的最新日期
- ruby-on-rails - 调用 ActionCable 方法和调用 API 的区别
- c# - 如何使用 Google Vision API 使用 Document_Text_Detection 识别线条和单词
- database - 从 Google Cloud Run 服务中的 docker 容器到 Google Cloud SQL 的请求最多需要 2 分钟
- javascript - 为什么我的上下文状态没有在我的独特组件中呈现?
- python-3.x - 远程命令执行python脚本的代码协助
- php - Laravel中延迟加载资源,如果模型中的方法不返回关系?