NPOI 中的公式列的值的获取

方法1 NPOI 中,对 sheet 对象设置 ForceFormulaRecalculation = true,即可实现自动将 Excel 的公式计算出来。

方法2 循环 Excel 的行、列,取出各个单元格,判断单元格的 CellType 是否等于 NPOI.SS.UserModel.CellType.Formula(注意,在老版本中 Formula 为大写),如果等于就执行 Evaluate

  //创建当前sheet 的动态公式计算器
                            HSSFFormulaEvaluator evalor = new HSSFFormulaEvaluator(workbook);

//解析列中的内容
                                        var cellType = cellObj.CellType;
                                        switch (cellType)
                                        {

                                            case CellType.Formula:
                                                //针对公式列 进行动态计算;注意:公式暂时只支持 数值 字符串类型
                                                var formulaValue = evalor.Evaluate(cellObj);
                                                if (formulaValue.CellType== CellType.Numeric)
                                                {
                                                    dataRow[j] = formulaValue.NumberValue;
                                                }
                                                else if(formulaValue.CellType == CellType.String)
                                                {
                                                    dataRow[j] = formulaValue.StringValue;
                                                }

                                                break;
                                            default:
                                                dataRow[j] = cellObj;
                                                break;
                                        }
时间: 2024-11-07 17:33:39

NPOI 中的公式列的值的获取的相关文章

JavaScript实现获取table中某一列的值

JavaScript实现获取table中某一列的值 1.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &

JavaScript获取table中某一列的值的方法

1.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C

对数据表中某2列的值对调

原文:对数据表中某2列的值对调 如标题所言,需要把2列的数据进行对调,列1的值存入列2,把列2的值存储列1中去. 如何实现,2种方法: 第1种,对列名进行修改,把name1改为name2,把name2改为name1即可: sp_rename 'Q3.name1',temp_name1,'column' GO sp_rename 'Q3.name2',temp_name2,'column' GO sp_rename 'Q3.temp_name1',name2,'column' GO sp_rena

easyUI在可编辑的datagrid中计算两列的值

在这个教程中你将学习如何包含一个运算的列在可编辑的datagrid中,一个运算列通常包含一些运算值从一个或多个其他列. 查看Demo 首先,创建一个可编辑的datagrid,这就是我们创建的一些可编辑列,'listprice','amount' 和'unitcost' 列定义为numberbox 编辑类型,运算列是 'unitcost'字段, 将是 listprice 乘以 amount列的结果. <table id="tt" style="width:600px;he

【前端基础】统一修改table中某一列的值

一.需求 需求比较简单,就是先修改第一列中age下面的input中的值,然后点击age这个submit按钮,会将这一列中所有的值都修改称第一列中age对应的值,如上图所示: 二.实现 1.针对这个需求,我第一反应就是先获取第一列age这列对应的value,然后用这个值给其他行的这一列的value进行赋值:所以我的代码实现如下: <!DOCTYPE html> <html> <head> <title>test</title> </head&

sql中查询同一列所有值出现的次数

尊重原创:http://blog.csdn.net/love_java_cc/article/details/52234889 有表如下table3: 需要查询country中各个国家出现的次数 SQL语句: [sql] view plain copy SELECT country as 国家,COUNT(*) as 次数 FROM table3 GROUP BY country 结果如下: 知识点: count(*)统计的是结果集的总条数,count(字段名)统计的是该字段值不为null的总条

批量修改mysql数据库中某一列的值

今天做数据库合并时,发现由于之前的操作失误,导致两个库的自增最开始都没改,都是默认从1开始自增,导致数据库合并时报主键冲突. 补救方法: 在不影响程序 数据的情况下修改这个列 在现有值得基础上加上之前没有加的自增.具体命令如下: update t_game_role_beastSoul set PKId = PKId + 770000000; update t_game_role_beastSoul set PKId = PKId + 740000000;

oracle 中根据某些列合并值

比如列一为 A1,B1,C1 第二列为   A1,B1, C2 合并为A1 B1 C1,C2 select columnName1,columnName2,columnName3, wm_concat(columnName4) from tableName group by columnName1,columnName2,columnName3

更改DataTable中某一列的值

任务是要去掉表单中位置这一列前面这句话, 前端的表单是jqgrid做的,捣鼓了半天不知道用js怎么改,只好从后端改了. for (int i = 0; i < dt.Rows.Count; i++) { string evtPost = dt.Rows[i]["EVENT_POSITION"].ToString(); dt.Rows[i]["EVENT_POSITION"]= evtPost.Replace("新疆维吾尔自治区","