你说的指定单元格类型后无法计算,你是给参与计算的单元格设定为正则表达式类型,还是给设置公式的单元格设置为正则表达式类型,导致最后无法计算。
我新建了一个空白的aspx页面,然后添加以下代码,可以正常使用公式:
- protected void Page_Load(object sender, EventArgs e)
- {
- //设置数据源
- DataTable dt = new DataTable();
- dt.Columns.Add("RegExpCellType", typeof(System.Double));
- dt.Columns.Add("原始数据", typeof(System.String));
- dt.Rows.Add(1, "1");
- dt.Rows.Add(1.1, "1.1");
- dt.Rows.Add(1.12, "1.12");
- dt.Rows.Add(1.123, "1.123");
- dt.Rows.Add(123.126, "123.126");
- FpSpread1.DataSource = dt;
- RegExpCellType rec = new RegExpCellType();
- rec.ValidationExpression = @"^-?(0\.\d{2}|[1-9]\d*\.\d{2})$";
- FpSpread1.Columns[0].CellType = rec;
- FpSpread1.ActiveSheetView.AddUnboundRows(FpSpread1.ActiveSheetView.RowCount, 1);
- FpSpread1.ActiveSheetView.Cells[FpSpread1.ActiveSheetView.RowCount - 1, 0].ResetCellType();
- FpSpread1.ActiveSheetView.Cells[FpSpread1.ActiveSheetView.RowCount - 1, 0].Formula = "SUM(A1:A5)";
- FpSpread1.ActiveSheetView.Cells[FpSpread1.ActiveSheetView.RowCount - 1, 1].Formula = "SUM(A1:A5)";
- }
复制代码
如果我的设置和你的方法有区别,请将你的方法做一个Demo发送给我们,谢谢。 |