解决方案 »

  1.   

    你的这句是你自己是复制你的程序里面的吗?好像多了一个点。能把代码贴出来吗,这样可以调试。sheet.sheet.GetRow(1).GetCell(3)..SetCellValue("")
      

  2.   

    在文章TIPS-NPOI修改Excel欄位後自動更新公式計算結果的回复中,有人提到下面的方法:HSSFFormulaEvaluator  eva = New HSSFFormulaEvaluator(workbook)
    NPOI.SS.UserModel.ICell cell_F17 = eva.EvaluateInCell(sheet.GetRow(16).GetCell(5))
    Response.Write(String.Format("F17={0}!!", cell_F17.NumericCellValue))
      

  3.   

    回复1楼:代码不是复制的,自己写上去,所以写多了。
    回复3楼:我测试过不是没有更新,因为如果原来A3是空的,而我用程序赋值为“V”,则A6会+1.所以问题集中在,如何用NPOI将某个单元格的值变成空,让EXCEL公式不计算。
    感谢你们的回复~!
      

  4.   

        sheet.GetRow(2).CreateCell(2).SetCellValue("");       
      

  5.   


      sheet.GetRow(2).CreateCell(2).SetCellValue("");
                     sheet.GetRow(2).CreateCell(3).SetCellValue(3);
                     ICell cell_range = sheet.GetRow(2).GetCell(3);
                     if (cell_range.ToString()=="3")
                     {
                         sheet.GetRow(2).CreateCell(4).SetCellValue(-1);                 }
      

  6.   

    还是不行啊,我的意思是通过鼠标放在那个单元格上按退格键,然后按确定,另个单元格的值会通过公司计算,自动-1.但是通过程序NPOI去设置SetCellValue("")却不行。通过微软提供的EXCEL组件访问EXCEL(APP.Workbook那个)也是通过程序设置为空,却可以,苦恼啊!
      

  7.   

    我们避免使用 NPOI。使用微软的组件。
      

  8.   

    单元格有没有 Clear() 方法
      

  9.   

    使用.SetCellType(CellType.Blank)设置单元格类型Blank就可以了。在NPOI 2.0下面测试实现A6的=COUNTA(A1:A5)计算从3变为2.SetCellType(CellType.Blank);
      

  10.   

    为什么?我看网上都说很方便,关键是我们公司服务器一碰到几个部门同时用EXCEL倒出数据时,那速度就明显变差,所以我才想更换的。
      

  11.   

    Quote: 引用 11 楼 save4me 的回复:

    使用.SetCellType(CellType.Blank)设置单元格类型Blank就可以了。在NPOI 2.0下面测试实现A6的=COUNTA(A1:A5)计算从3变为2.SetCellType(CellType.Blank);
    真的吗,我明天去公司试试,可以就来散分结贴,非常感谢!