免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3284 | 回复: 0
打印 上一主题 下一主题

java 读取excel的公式问题(重新描述)。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-20 15:55 |只看该作者 |倒序浏览
先说说我的问题吧。我用了jexcelapi软件包来读取excel的公式,有些还真能读正确,但有些读不出来,或者读错了。
当然先下载jexcelapi,并配置好。
......
<%@page import="jxl.*"%>;
<%@page import="jxl.read.biff.*"%>;//引用jxl包,可见我是用jsp写的。
.......
      is = new FileInputStream(filePath);
      rwb = Workbook.getWorkbook(is);
      rwb = Workbook.getWorkbook(myFilePath);//连接excel文件;
              ..........                 
     Sheet mysheet = rwb.getSheet(0);////获取第一张Sheet表
                        ....
     jxl.Cell mycelltxt = mysheet.getCell(myh,myc);//得到myc行,myh列的单元格。
     uvalue = mycelltxt.getContents();//得到单元格值。
     FormulaCell FCell = (FormulaCell)mycelltxt;
     uformula = FCell.getFormula();//得到公式。
.....................
它有的单元格可以正确读出它的值跟公式,有些单元格就不能读出公式(而这些单元格明明有公式)。


后来,我又在网上找了poi软件包。
当然是先下载,并且配置好。
<%@page import="org.apache.poi.hssf.usermodel.*"%>; //>;//引用poi包。
.....
     fileInput = new FileInputStream(myFilePath);
     wb = new HSSFWorkbook(fileInput);
     HSSFSheet mysheet = wb.getSheetAt(0); ////获取第一张Sheet表
              ......
     HSSFRow    myrow     =  mysheet.getRow(myc);        // 第myc行
    HSSFCell   mycell   = myrow.getCell((short)myh);  // 第myh列的单元格。
...........
    switch(mycell.getCellType())
       {
          case HSSFCell.CELL_TYPE_NUMERIC:
                                   double cd =mycell.getNumericCellValue();
                                   uvalue = java.lang.Math.round(cd) +"";
                                   break;
                                                                  
         case HSSFCell.CELL_TYPE_STRING:
                                   uvalue = mycell.getStringCellValue();
                                    break;
                                                                  
        case HSSFCell.CELL_TYPE_FORMULA:     
                                   uformula =  mycell.getCellFormula();
                                   break;

                           }

它有些单元格可以正确的读取值和它的公式(当然该单元格必须有公式的)。有些单元格读出的公式是“NO IDEA SHARED FORMULA EXP PTG”。
英文描述:

I 'm getting this string when I output a "SUM(C7:C " formula cell using
cell.getCellFormula()
String Output Message:
NO IDEA SHARED FORMULA EXP PTG
Can someone tell me why I 'm receiving this message?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP