cccc 发表于 2024-7-9 16:11:11

spread windows forms 14提示不是合法公式

本帖最后由 cccc 于 2024-7-11 15:54 编辑

    您好,我首先新建一个sheet,复制sheet1,新表命名为101.000_1。后台主要代码如下         
      FarPoint.Win.Spread.SheetView snew = new FarPoint.Win.Spread.SheetView();
      FarPoint.Win.Spread.SheetView s = new FarPoint.Win.Spread.SheetView();
      snew = fpspread1.Sheets.Find(snewname);//snewname 为图中所示的101.000_1
      if (snew == null)
      {
            s = fpspread1.Sheets;                           
            snew = CopySheet(s);
            snew.SheetName = strRowItemSnCode;
            fpspread1.Sheets.Add(snew);
       }
       fpspread1.ActiveSheet = snew;

      //CopySheet函数

       public FarPoint.Win.Spread.SheetView CopySheet(FarPoint.Win.Spread.SheetView sheet)
       {
             FarPoint.Win.Spread.SheetView newSheet = null;
             if (sheet != null)
             {
                  newSheet = (FarPoint.Win.Spread.SheetView)FarPoint.Win.Serializer.LoadObjectXml(typeof(FarPoint.Win.Spread.SheetView),               FarPoint.Win.Serializer.GetObjectXml(sheet, "CopySheet"), "CopySheet");
            }
             return newSheet;
      }

      问题1:sheet1的合计行是有设置公式的,,复制新建的表的合计行公式就没有了。我在设置合计行其中一个单元格公式进行测试,则提示不是合法公式,而且合计行另一个单元格也带了公式。设置公式的后台代码:

                              int rendindex = snew.RowCount - 1;
                              string columnLabel = snew.ColumnHeader.Columns.Label;
                              string formula = " SUM(" +columnLabel + " 1 " +":" +columnLabel + (rendindex - 1).ToString() +")" ;
                              snew.Cells.Formula = formula;
请老师帮忙看下,什么原因呢?有什么解决办法,或者提供一个快速复制新建一个有公式和格式的整个sheet表?谢谢。

Richard.Ma 发表于 2024-7-9 16:26:28

你是要在同一个workbook中复制这个sheet区域还是在不同workbook中来复制

cccc 发表于 2024-7-9 16:42:09

Richard.Ma 发表于 2024-7-9 16:26
你是要在同一个workbook中复制这个sheet区域还是在不同workbook中来复制

同一个workbook中

Richard.Ma 发表于 2024-7-9 17:55:46

你把使用你的CopySheet方法前的spread对象通过Save方法保存一个xml文件,我在本地测试看看

cccc 发表于 2024-7-10 16:45:53

已解决,排查到原因,区域赋值的数组的行维度过大,合计行的也赋值空值,所以有公式,却没有合计值。打扰了,谢谢。

Richard.Ma 发表于 2024-7-10 17:56:53

:hjyzw: 不客气
页: [1]
查看完整版本: spread windows forms 14提示不是合法公式