Spread Studio 8 新特性:表格(Table)功能

在全新发布的Spread Studio 8 的WinForms平台中,新增了功能强大的表格(Table)功能,它可以将单元格区域显示为一个表格,包含过滤器、绑定行、内置样式等功能,并与Excel中的表格兼容。本文将全面介绍表格(Table)功能的使用方法,包括以下主题:1) 添加表格;2) 使用表格过滤器;3) 调整表格大小;4) 对表格数据进行排序;5) 设置表格样式;6) 添加表格运算公式;7) 表格相关公式引用介绍。

发布于 2014/12/15 00:00

SpreadJS

在全新发布的Spread Studio 8 的WinForms平台中,新增了功能强大的表格(Table)功能,它可以将单元格区域显示为一个表格,包含过滤器、绑定行、内置样式等功能,并与Excel中的表格兼容。本文将全面介绍表格(Table)功能的使用方法,包括以下主题:

1) 添加表格

2) 使用表格过滤器

3) 调整表格大小

4) 对表格数据进行排序

5) 设置表格样式

6) 添加表格运算公式

7) 表格相关公式引用介绍

1) 添加表格

最为关键的方法是AddTable,该方法有多个重载方法,可以根据你的需要进行选择,详细说明请参考帮助文档中的 FarPoint.Win.Spread Assembly > FarPoint.Win.Spread Namespace > SheetView Class : AddTable Method 章节。

    {
        fpSpread1.Sheets[0].RemoveTable("table");
        // 通过 AddTable 方法添加表格
        fpSpread1.Sheets[0].Cells[1, 1].Text = "产品名称";
        fpSpread1.Sheets[0].Cells[1, 2].Text = "销量";
        fpSpread1.Sheets[0].Cells[2, 1].Text = "iPhone 6";
        fpSpread1.Sheets[0].Cells[2, 2].Value = 5000;
        fpSpread1.Sheets[0].Cells[3, 1].Text = "iPhone 6 Plus";
        fpSpread1.Sheets[0].Cells[3, 2].Value = 6800;
        fpSpread1.Sheets[0].Cells[4, 1].Text = "小米 4";
        fpSpread1.Sheets[0].Cells[4, 2].Value = 12000;
        fpSpread1.Sheets[0].Cells[5, 1].Text = "三星 Note4";
        fpSpread1.Sheets[0].Cells[5, 2].Value = 5800;
        table = fpSpread1.Sheets[0].AddTable("table", 1, 1, 6, 2);
    }

2) 使用表格过滤器

表格(Table)提供了类似于Excel中数据过滤的过滤工具栏,要控制表格的过滤功能可设置TableView. FilterButtonVisible属性。

    private void 数据过滤ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        // 设置表格是否显示过滤工具栏
        table.FilterButtonVisible = !table.FilterButtonVisible;
    }

clip_image001

3) 调整表格大小

我们在初次添加表格时指定了相应的行数和列数,如果再在添加之后对行列数进行调整可以通过TableView.Resize()方法。

    private void 调整大小ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        // 调整表格大小(行和列的数量)
        table.Resize(6, 3);
    }

image

4) 对表格数据进行排序

Spread本身为SheetView提供了基于列的排序功能,在新增的表格(Table)中也提供了同样的排序功能,你可以通过TableView.Sort()方法来指定排序方式。

    private void 数据排序ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        // 通过 Sort 方法对表格数据进行排序
        FarPoint.Win.Spread.ComplexSortInfo[] sort = new FarPoint.Win.Spread.ComplexSortInfo[1];
        sort[0] = new FarPoint.Win.Spread.ComplexSortInfo(1, true);
        table.Sort(sort);
    }

image

5) 设置表格样式

你可以为表格指定不同的显示风格,比如是否显示标题行、会总行、第一列、最后一列、镶边行、镶边列等外观样式,同时,在设计器中你还可以选择内置的表格样式。

    private void 设置样式ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        // 设置表格样式
        fpSpread1.Sheets[0].RemoveTable("table");
        FarPoint.Win.ComplexBorderSide bside = new FarPoint.Win.ComplexBorderSide(Color.Yellow);
        FarPoint.Win.Spread.TableBorder tborder = new FarPoint.Win.Spread.TableBorder(bside);
        FarPoint.Win.Spread.TableElementStyle testyle = new FarPoint.Win.Spread.TableElementStyle(tborder, Color.Red, Color.Blue, FarPoint.Win.Spread.RegularBoldItalicFontStyle.Bold);
        FarPoint.Win.Spread.TableStyle tstyle = fpSpread1.CreateTableStyle("Style1", FarPoint.Win.Spread.TableStyle.TableStyleLight2);
        tstyle.FirstColumn = testyle;
        fpSpread1.Sheets[0].Cells[1, 1].Text = "产品名称";
        fpSpread1.Sheets[0].Cells[1, 2].Text = "销量";
        fpSpread1.Sheets[0].Cells[2, 1].Text = "iPhone 6";
        fpSpread1.Sheets[0].Cells[2, 2].Value = 5000;
        fpSpread1.Sheets[0].Cells[3, 1].Text = "iPhone 6 Plus";
        fpSpread1.Sheets[0].Cells[3, 2].Value = 6800;
        fpSpread1.Sheets[0].Cells[4, 1].Text = "小米 4";
        fpSpread1.Sheets[0].Cells[4, 2].Value = 12000;
        fpSpread1.Sheets[0].Cells[5, 1].Text = "三星 Note4";
        fpSpread1.Sheets[0].Cells[5, 2].Value = 5800;
        fpSpread1.TableStyleCollection.Add(tstyle);
        FarPoint.Win.Spread.TableView table = fpSpread1.Sheets[0].AddTable("table", 1, 1, 6, 2, "Style1");
        table.FirstColumn = true;
    }

clip_image004

6) 添加表格运算公式

你还可以为表格(Table)添加公式,在合计行中提供了下拉列表,你可以指定需要的运算公式。

    private void 表格公式ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        fpSpread1.Sheets[0].RemoveTable("table");
        // 设置表格的合计行是否显示
        fpSpread1.Sheets[0].Cells[1, 1].Text = "产品名称";
        fpSpread1.Sheets[0].Cells[1, 2].Text = "销量";
        fpSpread1.Sheets[0].Cells[2, 1].Text = "iPhone 6";
        fpSpread1.Sheets[0].Cells[2, 2].Value = 5000;
        fpSpread1.Sheets[0].Cells[3, 1].Text = "iPhone 6 Plus";
        fpSpread1.Sheets[0].Cells[3, 2].Value = 6800;
        fpSpread1.Sheets[0].Cells[4, 1].Text = "小米 4";
        fpSpread1.Sheets[0].Cells[4, 2].Value = 12000;
        fpSpread1.Sheets[0].Cells[5, 1].Text = "三星 Note4";
        fpSpread1.Sheets[0].Cells[5, 2].Value = 5800;
        FarPoint.Win.Spread.TableView table = fpSpread1.Sheets[0].AddTable("table", 1, 1, 6, 2);
        table.TotalRowVisible = true;
    }

SNAGHTML19b2b0b6

7) 表格相关公式引用介绍

Spread 支持表格中的结构化引用公式,结构化引用包括表格名称,列指示器和表格指示器。

clip_image006

    private void 公式引用ToolStripMenuItem_Click(object sender, EventArgs e)
    {
        fpSpread1.Sheets[0].RemoveTable("table");
        // 在公式中引用表格
        fpSpread1.Sheets[0].Cells[1, 1].Text = "产品名称";
        fpSpread1.Sheets[0].Cells[1, 2].Text = "销量";
        fpSpread1.Sheets[0].Cells[2, 1].Text = "iPhone 6";
        fpSpread1.Sheets[0].Cells[2, 2].Value = 5000;
        fpSpread1.Sheets[0].Cells[3, 1].Text = "iPhone 6 Plus";
        fpSpread1.Sheets[0].Cells[3, 2].Value = 6800;
        fpSpread1.Sheets[0].Cells[4, 1].Text = "小米 4";
        fpSpread1.Sheets[0].Cells[4, 2].Value = 12000;
        fpSpread1.Sheets[0].Cells[5, 1].Text = "三星 Note4";
        fpSpread1.Sheets[0].Cells[5, 2].Value = 5800;
        FarPoint.Win.Spread.TableView table = fpSpread1.Sheets[0].AddTable("table", 1, 1, 6, 2);
        fpSpread1.Sheets[0].Cells[8, 1].Text = "销量合计:";
        fpSpread1.Sheets[0].Cells[8, 2].Formula = "SUM(table[销量])";
    }

clip_image007

示例程序源码下载:

免费下载 Spread Studio 8 试用版

 

SpreadJS | 下载试用

纯前端表格控件SpreadJS,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性,备受华为、苏宁易购、天弘基金等行业龙头企业的青睐,并被中国软件行业协会认定为“中国优秀软件产品”。SpreadJS 可为用户提供类 Excel 的功能,满足表格文档协同编辑、 数据填报、 类 Excel 报表设计等业务场景需求,极大的降低企业研发成本和项目交付风险。

如下资源列表,可以为您评估产品提供帮助:

相关产品
推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态