POI导入问题,如何把HSSFCell.CELL_TYPE_NUMERIC转换成String?

keethebest 2010-03-18 05:57:59
请教下大家啊。。POI 我的EXCEL里有一列是数字,但我需要POI读取成string,请问有什么方法么
if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
}
这样好像不行。。呵呵
...全文
10087 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
vv_liuli 2012-10-25
  • 打赏
  • 举报
回复
先判断cell的值是否为空再执行导入操作
liangtu 2012-10-25
  • 打赏
  • 举报
回复
用这个是会死 cell.toString() + "";
whos2002110 2012-10-25
  • 打赏
  • 举报
回复
先把你的Excel格式化成文本,然后全部用getStringValue
Daisy926 2012-10-25
  • 打赏
  • 举报
回复
有没有人知道,如果EXCEL里有一列是时间,为空了,导入会报错,是什么原因呢,需要怎样可以将其过滤掉呢
a504829368 2011-03-30
  • 打赏
  • 举报
回复
Integer reportYear = new Integer((int)cell.getNumericCellValue());
这样转换成一个int类型的值。
keethebest 2010-03-19
  • 打赏
  • 举报
回复
没人知道么?
cgcavalier518 2010-03-19
  • 打赏
  • 举报
回复
cell.setCellValue(数字.tostring);
package com.kingtop.xmkj.www; import java.io.FileInputStream; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class OfficePoi extends HttpServlet { public void init() throws ServletException { } //Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String fileToBeRead="e://test.xls"; ReadExcel(fileToBeRead); } public void ReadExcel(String fileToBeRead) { try { HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead)); HSSFSheet sheet = workbook.getSheet("Sheet1"); int rows = sheet.getPhysicalNumberOfRows(); for (int r = 0; r < rows; r++) { HSSFRow row = sheet.getRow(r); if (row != null) { int cells = row.getPhysicalNumberOfCells(); String value = ""; System.out.println(cells); for (short c = 0; c < cells; c++) { HSSFCell cell = row.getCell(c); if (cell != null) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_FORMULA: break; case HSSFCell.CELL_TYPE_NUMERIC: value += (long) cell.getNumericCellValue() + "\t"; break; case HSSFCell.CELL_TYPE_STRING: value += cell.getStringCellValue() + "\t"; break; default: value += "\t"; } } } //下面可以将查找到的行内容用SQL语句INSERT到oracle System.out.println(value); // } } } catch (Exception e) { System.out.println(e); } } //Process the HTTP Post request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } //Clean up resources public void destroy() { } } 以上是代码,文件下载后解压到WEB-INF/lib下面就可以了

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧