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表?谢谢。
你是要在同一个workbook中复制这个sheet区域还是在不同workbook中来复制 Richard.Ma 发表于 2024-7-9 16:26
你是要在同一个workbook中复制这个sheet区域还是在不同workbook中来复制
同一个workbook中 你把使用你的CopySheet方法前的spread对象通过Save方法保存一个xml文件,我在本地测试看看 已解决,排查到原因,区域赋值的数组的行维度过大,合计行的也赋值空值,所以有公式,却没有合计值。打扰了,谢谢。 :hjyzw: 不客气
页:
[1]