Spread报表控件如何设置精度
比如我的底层数据是2.4956 我想保留三位小数 2.496 如何实现 回复 1楼cingsoft的帖子可以通过四舍五入公式设置:
gcSpreadSheet1.Sheets.Cells.Formula = "ROUND(E1,3)";
gcSpreadSheet1.Sheets.Cells.Value = 2.4956;
回复 2楼iceman的帖子
ROUND(E1,3) 这个E1代表什么 指的是我所在的单元格吗? 回复 2楼iceman的帖子
你好:我设置完精度之后为什么变成这样了
/// <summary>
/// 设置数据精度
/// </summary>
/// <param name="行数"></param>
/// <param name="设置精度的列"></param>
private void SetPrecision(int RowCount, int ColumnIndex)
{
for (int i = -1; i < RowCount;i++ )
{
if (SpreadTableWorksheet.Cells.Value != null)
{
//decimal Value = Convert.ToDecimal(SpreadTableWorksheet.Cells.Value);
SpreadTableWorksheet.Cells.Formula = "ROUND(E1,3)";
SpreadTableWorksheet.Cells.Value = 2.49564;
}
}
}
我是通过循环的方式 来设置 还有这个E1到底指的是什么? 回复 4楼cingsoft的帖子
E1 指的是在公式中当前单元格的坐标,E1 就代表列头为 E 行头为 1 的单元格位置。
如果您的公式过多,可以使用 R1C1 这种引用方式,R代表行,C 代表列,R1C1 即代表Cell。这样您可以通过循环拼凑公式:
Worksheet SpreadTableWorksheet;
public MainWindow()
{
InitializeComponent();
SpreadTableWorksheet = this.gcSpreadSheet1.ActiveSheet;
SpreadTableWorksheet.ReferenceStyle = ReferenceStyle.R1C1;
for (int i = 0; i < 11; i++)
{
SpreadTableWorksheet.Cells.Value = 2.49564;
}
SetPrecision(20, 0);
}
/// <summary>
/// 设置数据精度
/// </summary>
/// <param name="行数"></param>
/// <param name="设置精度的列"></param>
private void SetPrecision(int RowCount, int ColumnIndex)
{
for (int i = 0; i < RowCount; i++)
{
if (SpreadTableWorksheet.Cells.Value != null)
{
//decimal Value = Convert.ToDecimal(SpreadTableWorksheet.Cells.Value);
SpreadTableWorksheet.Cells.Formula = "ROUND(R"+(i+1).ToString()+"C1,3)";
SpreadTableWorksheet.Cells.Value = 2.49564;
}
}
}
回复 1楼cingsoft的帖子
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
http://gcdn.gcpowertools.com.cn/attachment.aspx?attachmentid=10062
页:
[1]