Farpoint Spread For Windows Forms 5.0 使用指南 中文

更新时间:2024-04-03 21:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

For Windows Forms 5.0

使用指南

使用指南简介 1

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

使用指南简介

Spread for Windows Forms 是一个综合性的、用于微软.NET 平台的Windows Forms 应用程序开

发的表格控件。它集成了丰富的表格功能、工作表功能,并可以与多种数据源进行绑定。一个Spread

控件可以处理多达20 亿个工作表,每个工作表可以有20 亿行和20 亿列,并且支持跨工作表的数据引

用和跨工作表的公式引用。Spread 控件已经被业界公认为功能最为强大的表格控件。Spread 在中国也

有了超过10 年的使用历史,得到了许多软件开发人员的认可。

随着 5.0 版本的推出,Spread 增加了对于图表功能的支持。通过超过85 种不同类型的图表和内置

的用户界面,为创建和定制图表提供了全面支持,丰富了数据的展示方式。同时,Spread 与Excel 文

件的兼容性得到了进一步的提升。

虽然 Spread 产品附带了大量的文档和示例代码,但不可否认的是,对于初次接触Spread 的中国

软件开发人员来讲,有时难免会觉得Spread 入门不太容易。本使用指南旨在帮助软件开发人员

较快地

了解和运用Spread 的常用功能。开发人员可以在了解Spread 整体功能的基础上,循序渐进地学习单

元格操作、行列操作和工作表操作。每个操作都附带了具体的C#和VB 代码,读者可以直接运行例子

代码进行联系并查看效果。在表格数据操作的基础上,本指南也针对高级数据操作、图形图表、以及和

其他数据格式的交换方面做了进一步的介绍,并且在最后提供了常用词汇的中英文对照表,方便读者查 看。

对于项目管理人员和技术主管来讲,通过对本指南中Spread 主要功能的概览,可以帮助他们决策

Spread 是否适合于其项目的需要。 有关 Spread 产品的更多信息,请访问: Spread 产品网站http://www.grapecity.cn/tools Spread 技术支持论坛http://gcdn.grapecity.com

目录 2

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

目 录

使用指南简

介 .................................................................................................................................... 1 1. 从例子入门:创建CHECKBOOK

REGISTER .......................................................................... 4

1.1 添加SPREAD 控件到CHECKBOOK 工程 ...................................................................................... 4 1.2 设置行和列 ................................................................................................................................... 5 1.3 设置单元格类型 ............................................................................................................................ 7 1.4 添加公式 ..................................................................................................................................... 10 2. SPREAD 产品介

绍 .................................................................................................................... 12 2.1 产品概述 ..................................................................................................................................... 12 2.2 基本功能介绍 .............................................................................................................................. 13 2.3 SPREAD 5.0 FOR WINDOWS FORMS 的主要新增功能 ................................................................ 17 3. 单元格操

作................................................................................................................................ 19 3.1 设置单元格类型 .......................................................................................................................... 19 3.2 设置单元格的颜色 ...................................................................................................................... 21 3.3 合并单元格 ................................................................................................................................. 23 3.4 锁定、解锁单元格 ...................................................................................................................... 24 3.5 给单元格添加批注 ...................................................................................................................... 26 3.6 设置公式 ..................................................................................................................................... 28 4. 行列操

作 ................................................................................................................................... 31 4.1 设置行列数 ................................................................................................................................. 31 4.2 移动行列 ..................................................................................................................................... 31 4.3 调整行高、列宽 .......................................................................................................................... 33

4.4 冻结行列 ..................................................................................................................................... 34 4.5 使用分组 ..................................................................................................................................... 36 4.6 定制行头、列头的文字 .............................................................................................................. 37 4.7 设置多行行头、多列列头 .......................................................................................................... 39 5. 工作表操

作................................................................................................................................ 42 5.1 使用当前工作表 .......................................................................................................................... 42 5.2 设置背景色或背景图 .................................................................................................................. 42 5.3 增加工作表 ................................................................................................................................. 44 5.4 删除工作表 ................................................................................................................................. 45 5.5 移动工作表 ................................................................................................................................. 46 5.6 显示或隐藏工作表 ...................................................................................................................... 46 5.7 添加标题和子标题 ...................................................................................................................... 47 6. 高级数据操

作 ............................................................................................................................. 50

目录 3

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

6.1 数据绑定示例 .............................................................................................................................. 50

6.1.1 把Spread添加到一个数据绑定项目 ................................................................................ 50 6.1.2 设置数据库链接 .................................................................................................................. 50 6.1.3 指定需要使用的数据 .......................................................................................................... 50 6.1.4 创建数据集 .......................................................................................................................... 52 6.1.5 把Spread绑定到数据库 .................................................................................................... 52 6.1.6 设置单元格类型,改善显示效果 ....................................................................................... 53 6.2 数据排序 ..................................................................................................................................... 54 6.3 数据过滤 ..................................................................................................................................... 55

6.3.1 允许数据过滤 ...................................................................................................................... 55 6.3.2 使用数据过滤 ...................................................................................................................... 56 7. 使用图

形 ................................................................................................................................... 58 7.1 创建图形对象 .............................................................................................................................. 58 7.2 设置图形属性 .............................................................................................................................. 58 7.3 图形旋转 ..................................................................................................................................... 59 7.4 图形缩放 ..................................................................................................................................... 59 7.5 图形移动 ..................................................................................................................................... 60 7.6 图形锁定 ..................................................................................................................................... 60 8. 使用图

表 ................................................................................................................................... 61 8.1 创建图表对象 .............................................................................................................................. 62 8.2 使用图表设计器 .......................................................................................................................... 68 8.3 绑定图表 ..................................................................................................................................... 69 8.4 允许用户改变图表 ...................................................................................................................... 70 9. 与其他数据格式交

互 .................................................................................................................. 72

9.1 打开EXCEL 文件 .......................................................................................................................... 72

9.2 保存为EXCEL 文件 ...................................................................................................................... 74 9.3 导出PDF .................................................................................................................................... 75 10. SPREAD WIN 5 中英文术语对

照 .......................................................................................... 77

从例子入门:创建Checkbook Register 4

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

1. 从例子入门:创建Checkbook Register

1.1 添加Spread 控件到Checkbook 工程

创建一个新的Visual Studio .NET 工程并命名为Checkbook。将工程中的窗体(Form) 重命名为

Register。将FpSpread 控件添加到当前工程,然后将该控件添加到窗体中。

如果您对.net 平台不是很了解的话,您可能不熟悉如何启动一个新项目来使用新的控件。要使用

这个产品,您需要将这个控件添加到Visual Studio .NET 环境中。

第一步就是在Visual Studio .NET 创建一个新的工程,然后添加该控件到该工程中。 1. 启动Visual Studio .NET。

2. 在File 菜单中,选择New->Project。

3. 在新工程对话框的工程类型区域,选择您需要开发使用的语言,例如在这个工程类型中选 择Visual C#工程。 4. 在新工程对话框中

a. 在工程类型列表中选择C#工程或者Visual Basic 工程。 b. 在模板列表中选择windows Application。

c. 在名称输入框中输入新工程的名称Checkbook,默认的名称WindowsApplication1。

d. 在地址输入框中有一个默认的工程路径,用户也可以点击浏览选择一个新的路径。 e. 点击OK。

f. 如果您的工程看不到解决方案浏览器,您可以在“视图”菜单中找到。

5. 在解决方案浏览器中,右键点击form 的名称Form1, 在弹出菜单选择重命名,然后输入 register.

下一步就是添加该控件到Visual Studio .NET 的工具箱中,这一步只需要做一次就可以了。 1. 如果工具箱没有显示,用户可以在view 菜单的找到并显示它。

2. 如果工具箱已经显示,查看windows forms 目录(或spread 的安装目录)。 3. 如果Spread 控件没有在工具箱中,右键点击工具箱并在弹出菜单中选择Customize Toolbox,Add/Remove Items 或者Choose Items.(这个需要根据Visual Studio 的版本决 定)。

4. 在Customize Toolbox 对话框中,点击.NET Framework Components 标签。 5. 在.NET Framework Components 标签中,Spread 控件应该显示在控件列表中,选中 Spread 控件的复选框后点击ok 按钮。如果Spread 控件没有显示在控件列表中,点击 Browse 查看控件的安装目录,在安装目录选择FarPoint.Win.Spread.dll 然后点击Open。 Spread 控件这时应该显示在控件列表中了,选择它然后点击ok 按钮。 6. 您可以把这个控件添加到一个工程中来测试它。 下一步是把这个控件添加到一个工程中。

1. 在一个打开的工程中,在工具箱的Windows Forms 目录(或其他spread 控件添加的目 录),选择Spread 控件。

2. 在您的windows Forms 中,您可以通过拖动鼠标画一个矩形来添加一个spread 控件并初 始化该控件的大小。

从例子入门:创建Checkbook Register 5

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

3. 您已经添加了一个Spread 控件到您的工程中了。

1.2 设置行和列

Spread 控件在form 中已经有了一个工作表,您可以定制这个工作表。在这一步您将会设置这个工

作表的行、列和单元格。 示例

第 1 步:设置电子表单的宽,高以及行数和列数

[C#]

// 设置电子表单的宽、高以及行数和列数. fpSpread1.Height = 330; fpSpread1.Width = 765;

fpSpread1.Sheets[0].ColumnCount = 8; fpSpread1.Sheets[0].RowCount = 100;

[Visual Basic]

'设置电子表单的宽,高以及行数和列数. FpSpread1.Height = 330 FpSpread1.Width = 765

FpSpread1.Sheets(0).ColumnCount = 8 FpSpread1.Sheets(0).RowCount = 100

从例子入门:创建Checkbook Register 6

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

第 2 步:设置列头文本

[C#]

// 设置列头文本。

fpSpread1.Sheets[0].ColumnHeader.Cells[0, 0].Text = \fpSpread1.Sheets[0].ColumnHeader.Cells[0, 1].Text = \fpSpread1.Sheets[0].ColumnHeader.Cells[0, 2].Text = \fpSpread1.Sheets[0].ColumnHeader.Cells[0, 3].Text = \fpSpread1.Sheets[0].ColumnHeader.Cells[0, 4].Text = \fpSpread1.Sheets[0].ColumnHeader.Cells[0, 5].Text = \fpSpread1.Sheets[0].ColumnHeader.Cells[0, 6].Text = \fpSpread1.Sheets[0].ColumnHeader.Cells[0, 7].Text = \

[Visual Basic]

'设置列头文本。

FpSpread1.Sheets(0).ColumnHeader.Cells(0, 0).Text = \FpSpread1.Sheets(0).ColumnHeader.Cells(0, 1).Text = \FpSpread1.Sheets(0).ColumnHeader.Cells(0, 2).Text = \FpSpread1.Sheets(0).ColumnHeader.Cells(0, 3).Text = \FpSpread1.Sheets(0).ColumnHeader.Cells(0, 4).Text = \FpSpread1.Sheets(0).ColumnHeader.Cells(0, 5).Text = \FpSpread1.Sheets(0).ColumnHeader.Cells(0, 6).Text = \FpSpread1.Sheets(0).ColumnHeader.Cells(0, 7).Text = \

从例子入门:创建Checkbook Register 7

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

第 3 步:调整列宽显示标题和数据

第 4 步:保存您的工程然后从“编译”菜单中选择“开始”来运行您的工程 您的表单应该看起来和下图一样:

1.3 设置单元格类型

Spread 支持多达22 种单单元格类型。设置单元格类型时,对每一种单元格类型,您需要创建一个

单元格类型对象,设置其属性,然后将其设为一个或多个单元格的CellType 属性。 通过以下代码设置一些单元格类型到当前数据表的列上。

[C#]

//设置列宽.

fpSpread1.Sheets[0].Columns[0].Width = 50; fpSpread1.Sheets[0].Columns[1].Width = 50; fpSpread1.Sheets[0].Columns[2].Width = 175; fpSpread1.Sheets[0].Columns[3].Width = 40; fpSpread1.Sheets[0].Columns[4].Width = 65; fpSpread1.Sheets[0].Columns[5].Width = 100; fpSpread1.Sheets[0].Columns[6].Width = 100; fpSpread1.Sheets[0].Columns[7].Width = 125;

[Visual Basic]

' 设置列宽.

FpSpread1.Sheets(0).Columns(0).Width = 50 FpSpread1.Sheets(0).Columns(1).Width = 50 FpSpread1.Sheets(0).Columns(2).Width = 175 FpSpread1.Sheets(0).Columns(3).Width = 40 FpSpread1.Sheets(0).Columns(4).Width = 65 FpSpread1.Sheets(0).Columns(5).Width = 100 FpSpread1.Sheets(0).Columns(6).Width = 100

FpSpread1.Sheets(0).Columns(7).Width = 125

从例子入门:创建Checkbook Register 8

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

示例:设置数字单元格类型到Check #列 示例:设置日期单元格类型到Date 列

[C#]

// 把Check #列的单元格类型设置成数字

FarPoint.Win.Spread.CellType.NumberCellType objNumCell = new FarPoint.Win.Spread.CellType.NumberCellType(); objNumCell.DecimalPlaces = 0; objNumCell.MinimumValue = 1; objNumCell.MaximumValue = 9999; objNumCell.ShowSeparator = false;

fpSpread1.Sheets[0].Columns[0].CellType = objNumCell;

[Visual Basic]

'把Check #列的单元格类型设置成数字

Dim objNumCell As New FarPoint.Win.Spread.CellType.NumberCellType() objNumCell.DecimalPlaces = 0 objNumCell.MinimumValue = 1 objNumCell.MaximumValue = 9999 objNumCell.ShowSeparator = False

FpSpread1.Sheets(0).Columns(0).CellType = objNumCell

[C#]

// 把Date 列的单元格类型设置成日期

FarPoint.Win.Spread.CellType.DateTimeCellType objDateCell = new

FarPoint.Win.Spread.CellType.DateTimeCellType(); objDateCell.DateTimeFormat =

FarPoint.Win.Spread.CellType.DateTimeFormat.ShortDate; fpSpread1.Sheets[0].Columns[1].CellType = objDateCell;

[Visual Basic]

'把Date 列的单元格类型设置成日期

Dim objDateCell As New FarPoint.Win.Spread.CellType.DateTimeCellType() objDateCell.DateTimeFormat =

FarPoint.Win.Spread.CellType.DateTimeFormat.ShortDate FpSpread1.Sheets(0).Columns(1).CellType = objDateCell

从例子入门:创建Checkbook Register 9

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

示例:设置文本单元格类型到Description 列

示例:设置单选框单元格类型到“Tax?” 和“Cleared?”列

[C#]

// 把Description 列单元格类型设置成文本类型

FarPoint.Win.Spread.CellType.TextCellType objTextCell = new FarPoint.Win.Spread.CellType.TextCellType(); objTextCell.MaxLength = 100;

fpSpread1.Sheets[0].Columns[2].CellType = objTextCell;

[Visual Basic]

'把Description 列单元格类型设置成文本类型

Dim objTextCell As New FarPoint.Win.Spread.CellType.TextCellType() objTextCell.MaxLength = 100

FpSpread1.Sheets(0).Columns(2).CellType = objTextCell

[C#]

//把“Tax? ” 和“ Cleared?” 列的单元格类型设置成单选框类型 FarPoint.Win.Spread.CellType.CheckBoxCellType objCheckCell = new FarPoint.Win.Spread.CellType.CheckBoxCellType(); objCheckCell.ThreeState = false;

fpSpread1.Sheets[0].Columns[3].CellType = objCheckCell; fpSpread1.Sheets[0].Columns[4].CellType = objCheckCell;

[Visual Basic]

'把“Tax? ”和“ Cleared? ”列的单元格类型设置成单选框类型

Dim objCheckCell As New FarPoint.Win.Spread.CellType.CheckBoxCellType() objCheckCell.ThreeState = False

FpSpread1.Sheets(0).Columns(3).CellType = objCheckCell FpSpread1.Sheets(0).Columns(4).CellType = objCheckCell

从例子入门:创建Checkbook Register 10

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

示例:设置货币框单元格类型到Debit,Credit 和Balance 列

保存您的工程然后从“编译”菜单中选择“开始”来运行您的工程。存储工程,选择“编译”菜单

“开始”运行程序。 您的窗体将会如下图:

1.4 添加公式

您的工程现在看起来像一个支票登记薄。但是,在您登记的时候它不会自动计算收支平衡。 下列步骤通过Spread 提供的公式功能来自动计算收支平衡。

[C#]

// 把Debit, Credit 和 Balance 列的单元格类型设置成货币类型

FarPoint.Win.Spread.CellType.CurrencyCellType objCurrCell = new FarPoint.Win.Spread.CellType.CurrencyCellType();

objCurrCell.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.Yes; objCurrCell.NegativeRed = true; objCurrCell.FixedPoint = true;

fpSpread1.Sheets[0].Columns[5].CellType = objCurrCell; fpSpread1.Sheets[0].Columns[6].CellType = objCurrCell; fpSpread1.Sheets[0].Columns[7].CellType = objCurrCell;

[Visual Basic]

'把Debit, Credit 和Balance 列的单元格类型设置成货币类型

Dim objCurrCell As New FarPoint.Win.Spread.CellType.CurrencyCellType() objCurrCell.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.Yes objCurrCell.NegativeRed = True objCurrCell.FixedPoint = True

FpSpread1.Sheets(0).Columns(5).CellType = objCurrCell FpSpread1.Sheets(0).Columns(6).CellType = objCurrCell FpSpread1.Sheets(0).Columns(7).CellType = objCurrCell

从例子入门:创建Checkbook Register 11

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

示例

保存您的工程,从“编译”菜单中选择“开始”来运行您的工程。

此时您的窗体应该看起来如下图所示。输入数据来测试一下它是否正常工作吧!

现在,您已经用Spread 控件成功地创建了一个Checkbook Register。您已经完成了这个教程。

[C#]

// 设置公式计算收支平衡

fpSpread1.Sheets[0].ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1; int i;

for (i = 0; i <= fpSpread1.ActiveSheet.RowCount ‐ 1; i++) {

if (i == 0)

fpSpread1.Sheets[0].Cells[i, 7].Formula = \ else

fpSpread1.Sheets[0].Cells[i, 7].Formula = \ }

[Visual Basic]

'设置公式计算收支平衡

FpSpread1.Sheets(0).ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1 Dim i As Integer

For i = 0 To FpSpread1.ActiveSheet.RowCount ‐ 1 If i = 0 Then

FpSpread1.Sheets(0).Cells(i, 7).Formula = \\Else

FpSpread1.Sheets(0).Cells(i, 7).Formula = \ End If Next

Spread 产品介绍 12

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

2. Spread 产品介绍

2.1 产品概述

Spread for Windows Forms 是一个综合性的、用于Windows Forms 应用程序开发的表格控件。它

集成了表格功能、工作表功能,并提供了与多种数据源进行绑定的功能。一个Spread 控件可以处理多

达20 亿个工作表,每个工作表可以有20 亿行和20 亿列。Spread 支持跨工作表的数据引用和跨工作

表的公式引用。

Spread 控件能被简单的拖放到一个Windows Forms 上然后根据不同应用程序的需要来定制。 Spread 为用户提供了许多方法用来定制它的外观及和用户之间的交互方式。使用Spread 设计器,您

能够快速地创建您的应用程序原形,完成您的设计。高级的开发者甚至能够通过编码实现对Spread 控 件的完全控制。

Spread 支持和 Microsoft Excel 数据间的导入/导出。Spread 的工作表数据能够被保存为或导入从

以下格式:1. 逗号分隔的文本文件;2. BIFF8 格式的Excel 文件 (Excel97-2003 格式);3. XML 格式的

Excel 文件 (Excel2007 格式) 。

下图是 Spread Win 控件的一个概念、功能模型图:

Spread 产品介绍 13

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

2.2 基本功能介绍

Spread 支持导入和导出Microsoft Excel 格式的文件,支持PDF 导出,支持多工作表、跨工作表

公式索引、分层显示、分组、有条件的格式、排序、行过滤、搜索、缩放、撤销/重做、数据绑定或非

绑定模式、拆分条等功能使您可以为任何应用程序创建解决方案。Spread 支持多达22 种单元格类型,

甚至支持创建自定义单元格类型,在单元格级别上支持全面的客户定制,提供单元格合并、多表头、

320 种内建的计算函数、单元格提示和注释、浮动的公式条、动态公式范围选择、输入智能提示等。 多工作表

在一个工作簿中支持多个工作表,用多个工作表来对信息进行分类。这与Excel 的工作表 (worksheet)类似。 定制的外观 (皮肤)

通过预先定制的皮肤来轻松、快速地配置工作表的外观。定制的皮肤可在开发团队中共享,以实现

控件外观的跨应用程序的一致性。 单元格合并

支持多个单元格合并。通过单元格合并将多个单元格合并到一起。支持对数据单元格、表头的合 并,还支持将数值相同的单元格进行自动合并。 表头中包含多列和多行

您还可以合并表头单元格,用多列或多行表头对您的数据进行组织。 排序功能

支持对多行或多列数据进行排序,或对某个范围内的数据进行排序。可以通过代码实现,也可以通

过用户点击列表头进行自动排序。 对行和列的交互进行定制

多行或多列的移动:允许用户拖动多行或多列。

多行或多列的冻结:支持冻结一个工作表中的任意数量的行或列。被冻结的行会一直置顶,冻

结的列会始终位于最左侧。

行或列的缩放:支持对一个控件内的行或列的尺寸进行调整。

Spread 产品介绍 14

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

搜索数据

支持通过指定工作表和待搜索数据串,在工作簿中的任何单元格中搜索数据。 数据的过滤

支持对过滤条件的定制,只显示满足条件的数据。可在过滤的基础上,改变数据的显示。 用户与单元格之间的交互

支持对用户与单元格(或某个范围的单元格)之间的操作进行控制:

允许用户把数据从一个范围的单元格拖动到另一个范围。您可以规定用户是否可以选择一个单

元格或某个范围内的单元格并拖动到同一个工作表或另一个工作表内的新位置。

允许用户将数据从一个单元格或某个范围内的单元格拖动并填充到另一个单元格或单元格范

围。在选择了一个单元格或某个范围的单元格后,您可以对位于一行(或多行)或一列(或多 列)内的单元格进行填充。

支持为单元格或一个范围内的单元格添加注释。 支持为单元格或一个范围内的单元格添加标签。

支持将单元格或一个范围内的单元格锁定。支持为锁定的单元格设置不同的外观(字体、颜 色),以区别于其它单元格。

在单元格内设置条件格式,根据所设定的条件来确定单元格的格式化方式。例如可设定当数值

小于0 时,让其字体颜色变为红色等等。

使用 ButtonDrawMode 属性来定制单元格是否可以显示按钮。 数据选择

可以控制用户可以选择什么,以及外观是什么样的。还可以控制用户是否只能选择: 单元格 行 列 工作表

单元格,单元格范围,多个单元格范围 行,不能编辑 行,可以编辑

多个连续行,不能编辑

Spread 产品介绍 15

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

多个非连续行,不能编辑

丰富的单元格类型

Spread 支持丰富的单元格类型。通过使用Spread 提供的内置单元格类型或自己定制的单元格类

型,确定在一个单元格中可以输入什么样的数据,避免程序员不必要的检查和验证,并为用户提供一种

自然的输入数据的方式。 分层显示

支持在一行内创建一个子工作表,以分层显示关系型数据,用父行和子行显示相关的数据。 内置的函数

Spread 的内置函数超过200 多种。Spread 还支持通过内置函数和运算符来编制公式。支持的函数

包括日期、时间函数、工程计算函数、财务计算函数、逻辑函数、数学和三角函数、统计函数、文本函

数等。Spread 支持: 在单元格中放置公式 在公式中指定单元格索引 在公式中使用循环引用 在公式中嵌入函数

公式的自动重新计算和更新 允许用户输入公式 自定义函数

为自定义函数创建名称

打印

支持对表单任意一部分的打印。支持可缩放的预览功能。

通过调用FpSpread.PrintSheet 方法,打印一个工作表或指定工作表的指定区域数据,打印所

有页或指定页,打印分层工作表中的子表,并对其打印方式进行控制。

通过设置PrintInfo 对象的属性,对打印进行定制。可以提供表头和表尾文字,使之出现在打印

的每一页面上。还可以打印背景图形或水印。同时,Spread 还可自动确定最适合的打印方式。 支持最终用户对打印进行预览功能。 数据绑定

支持与数据集的绑定。数据集可以是一个数据库中的数据集或任何.NET 框架允许的数据集如IList

对象。Spread 支持: 绑定到一个数据集

在工作表中增加一个非绑定行 为绑定的工作表对列表头进行定制 为绑定的工作表对单元格类型进行定制 对列和字段的绑定进行定制 支持分层数据显示

Spread 产品介绍 16

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

多观察口

工作表支持一个以上的观察窗口,以便在不同的观察窗口中显示来自工作表的不同部分的数据。

持最终客户对各观察窗口的显示进行定制。 Spread 设计器

Spread 设计器用来设计并快速创建一个工作表原型。Spread 设计器通过其直观、易用的界面,使

您在设计阶段能对表单进行各方面的定制,从而缩短开发时间。

Spread 设计器可为表单创建一个快照。当所有的更改完成后,这些更改可直接应用于工作表。 Spread 设计器支持打开已有的设计文件并将您的设计更改保存进入该设计文件或保存为新的设计文 件。

导入和导出的功能

Spread 支持多种数据格式的导入、导出。不仅在设计状态下可通过Spread 设计器来导入、导出

数据,在运行状态下,您也可以通过代码,把所有、指定表单或特定单元格范围内的数据导入、导出为

不同的文件类型或流文件。 导出文件类型: Spread 的XML 文件 Excel 文件 文本文件 导入文件类型: Spread XML 文件

Excel 文件 Spread 文件 文本文件 定制光标显示类型

支持在工作表的不同区域显示不同的光标类型。如您可为锁定的单元格区域指定一种特殊的光标类

型,为非锁定单元格区域指定另一种光标类型。 允许用户进行缩放操作

允许用户对表单的显示比例进行更改,即放大和缩小。可通过设置AllowUserZoom 属性为true 来

实现之。此时用户可通过按下Ctrl 键和转动鼠标滚轮来放大和缩小表单。 为表单增加一个上下文菜单

您可通过设置ContextMenu 属性,创建一个自定义的右键菜单。 滚动条

支持滚动条的定制:

自定义是否在行和列的两端都显示滚动条 自定义滚动条的维数

Spread 产品介绍 17

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

自定义在用户拖动滚动框时,表单中的数据是否联动 自定义可滚动的行数、列数 自定义滚动时的对齐方式

2.3 Spread 5.0 for Windows Forms 的主要新增功能

使用 Spread Chart 图形化显示工作表数据

完全集成的图表支持:通过超过85 种不同类型的Chart 和内置的用户界面,为创建和定制 Chart 提供了全面支持。

使用与 Spread 集成的Chart 图形化显示您的数据。 使用独立于Spread 的FpChart 图形化显示您的数据。

使用 Chart 设计器和预置的菜单、对话框, 不写代码,创建、操作Spread Chart

使用“Change Chart Type and Select Data”对话框,在设计时创建Chart。最终用户也能够

使用之在运行时修改Chart。

在设计时或运行时使用Chart Designer 定制Chart。 增强与 Microsoft Excel 兼容的表单功能

数据缓存提供了对包含宏、脚本代码、以及以前不支持内容的 Microsoft Excel 文件的无损编辑。

为 Microsoft Excel 支持了导出图形和图表。

支持导入和导出用ISO-OOXML 兼容性密码(Excel2007 新功能)的 Excel2007 表单。

使用新的Spread 设计器可以简化您的开发同时您也可以设计出强大的用户界面。 类似于 Microsoft Excel 2007 的新彩带栏界面。 在头单元格上可以设置多行文本。

在设计时可以设置 Microsoft Outlook 风格的分组。 设置条件格式。

支持对整个工作表的剪切复制。

利用新的快速启动向导(Quick Start Wizard),帮您简单、快速地设计 出强大的用户界面。您可以用它: 设置数据绑定

设置行和列的绑定和非绑定属性 其它更多的属性

使用以下新函数来进行高级运算 AverageIf AverageIfs

Spread 产品介绍 18

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

CountIfs IfError Match Search SumIfs Text

利用如下新改进的易用性功能增强用户体验 排序数字列过滤列表 显示当前行图标 移动多行或多列

增强的鼠标与单元格内的按钮交互功能 自定义滚动增量

使用新的显示选项来显示表单标题、字幕、行预览和滚动

增强的剪贴板

表单缩放时的选择、移动、设置图形、图表的支持

在一个超链接单元格内设置多个超链接同时也可以修改显示字符串 在表单的灰色区域(最后行和最后列以外)自定义光标 新的列脚和分组列脚的计算和数据格式化 对现有功能的增强:

编辑模式下增加了更多控制 改进了表单导出文本的功能 增强了日期和时间类型的数据输入 在列表框单元格中可以选择多个列表项 在单元格和注释中可以自定义显示文本 在单元格中可以显示按钮

在按钮类型的单元格中可以显示提示 改进了空值单元格的显示

在单元格的任意角位置都可以显示单元格批注 在任何行头可以显示每列的列排序和列过滤图标

自定义显示的图像为展开/折叠、行选择器、列过滤、列排序、和新的工作表选项卡等功能的显 示图标

增强了 Outlook 风格的数据分组

单元格操作 19

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

3. 单元格操作

3.1 设置单元格类型

Spread Win 5 支持22 种单元格类型: 1) 普通型 2) 货币型 3) 日期-时间型 4) 数值型 5) 百分比型 6) 标签型 7) 文本型 8) 格式文本型 9) 单选型 10) 按钮型 11) 开关型 12) 列表框型 13) 组合框型 14) 多列组合框型 15) 超链接型 16) 图像型 17) 掩码型 18) 进度条型 19) 颜色选择型 20) 滑块型

21) 正则表达式型 22) 条形码型

单元格操作 20

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

您能够使用Spread 设计器或者通过编码设置它们。 使用 Spread 设计器

使用 Spread 设计器的“Cell Type”对话框设置单元格类型:

您能够通过Spread 设计器的右键菜单“Cell Types”的子菜单,或者通过Ribbon Bar 的Home 标签页上的CellType 按钮,打开如下“Cell Type”对话框,进行各种单元格类型的设置: 使用编码

您能够使用编码设置各种单元格类型。下面是设置货币型单元格的一个例子: 1. 使用CurrencyCellType 类,定义一个货币类型单元格。

2. 通过设置CurrencyCellType 对象的CurrencySymbol 和其他属性来指定货币单元格格式。 3. 通过设置单元格、单元格范围、列、或行的CellType 属性把一个单元格或单元格区域的单元格

类型设置成货币类型。

单元格操作 21

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

示例代码:

3.2 设置单元格的颜色

您可以设置一个或一组单元格的背景和前景(文字)的颜色。下图的例子说明了使用不同方式来设

置单元格颜色。

您可以使用当前单元格的BackColor 属性用代码设置一个单元格的背景色,也可以使用ForeColor

性用代码来设置文本颜色。

同样地您也可以使用表单的SelectionBackColor 和 SelectionForeColor 来设置选择单元格的这些颜 色。同时您也可以使用表单或者Appearance 对象的LockBackColor 和 LockForeColor 属性为锁定的单元

格设置一个不同的颜色(背景色或者是文本颜色)。 使用代码

这段代码为第二个单元格设置背景色和前景色,为锁定的和选择的单元格设置颜色。

[C#]

FarPoint.Win.Spread.CellType.CurrencyCellType currcell = new FarPoint.Win.Spread.CellType.CurrencyCellType(); currcell.CurrencySymbol = \currcell.DecimalSeparator = \currcell.DecimalPlaces = 8;

fpSpread1.ActiveSheet.Cells[1,1].CellType = currcell;

[Visual Basic]

Dim currcell As New FarPoint.Win.Spread.CellType.CurrencyCellType() currcell.CurrencySymbol = \currcell.DecimalSeparator = \currcell.DecimalPlaces = 8

FpSpread1.ActiveSheet.Cells(1,1).CellType = currcell

单元格操作 22

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

[C#]

fpSpread1.ActiveSheet.Cells[0,1].Value = \

fpSpread1.ActiveSheet.Cells[1,1].Value = \fpSpread1.ActiveSheet.Cells[2,1].Value = \fpSpread1.ActiveSheet.Cells[3,1].Value = \fpSpread1.ActiveSheet.Cells[1,1].BackColor = Color.LimeGreen; fpSpread1.ActiveSheet.Cells[1,1].ForeColor = Color.Yellow; fpSpread1.ActiveSheet.Cells[2,1].Locked = true; fpSpread1.ActiveSheet.Protect = true;

fpSpread1.ActiveSheet.LockBackColor = Color.Brown; fpSpread1.ActiveSheet.LockForeColor = Color.Orange; fpSpread1.ActiveSheet.SelectionStyle =

FarPoint.Win.Spread.SelectionStyles.SelectionColors; fpSpread1.ActiveSheet.SelectionPolicy =

FarPoint.Win.Spread.Model.SelectionPolicy.Range;

fpSpread1.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Cell; fpSpread1.ActiveSheet.SelectionBackColor = Color.Pink; fpSpread1.ActiveSheet.SelectionForeColor = Color.Red;

[Visual Basic]

FpSpread1.ActiveSheet.Cells(0,1).Value = \FpSpread1.ActiveSheet.Cells(1,1).Value = \FpSpread1.ActiveSheet.Cells(2,1).Value = \FpSpread1.ActiveSheet.Cells(3,1).Value = \FpSpread1.ActiveSheet.Cells(1,1).BackColor = Color.LimeGreen FpSpread1.ActiveSheet.Cells(1,1).ForeColor = Color.Yellow

FpSpread1.ActiveSheet.Cells(2,1).Locked = True FpSpread1.ActiveSheet.Protect = True

FpSpread1.ActiveSheet.LockBackColor = Color.Brown FpSpread1.ActiveSheet.LockForeColor = Color.Orange FpSpread1.ActiveSheet.SelectionStyle =

FarPoint.Win.Spread.SelectionStyles.SelectionColors FpSpread1.ActiveSheet.SelectionPolicy =

FarPoint.Win.Spread.Model.SelectionPolicy.Range

FpSpread1.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Cell FpSpread1.ActiveSheet.SelectionBackColor = Color.Pink FpSpread1.ActiveSheet.SelectionForeColor = Color.Red

单元格操作 23

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

使用 Spread 设计器

1. 在工作区域,选择一个或一组您想设置颜色的单元格。

2. 在属性列表中(在Misc 分类中)选择BackColor 属性来设置背景色。 3. 点击下拉按钮来显示颜色选择器,选择一个可用的颜色。

4. 设置前景色的话请重复以上步骤,选择属性列表的ForeColor 属性。

5. 在“文件”菜单中先择“应用并退出”来应用组件的改变并退出Spread 设计器。

3.3 合并单元格

您可以通过组合一些单元格来创建一个更大的合并单元格。比如, 假如您想创建一个从B2 到D3 的

合并单元格,单元格 B2 将占用从B2 到D3 的空间来显示这个合并的单元格。

Spread 工作表分为四个区域:表单交叉区,列标题区,行标题区和数据区。您可以在一个区域内

创建合并的单元格,但您不能跨区域来创建合并的单元格,您不能在数据区域和行标题区域之间创建一

个合并的单元格,也不可以在表单交叉区域和列标题之间创建一个合并的单元格。下面主要讨论在数据

区合并单元格。

当您创建一个合并单元格,在合并单元格中的第一个单元格(称为锚定格)中的数据占用所有的合

并空间。当您创建一个合并单元格,其中每一个单元格的数据仍然在每个单元格中,但不显示。这些数

据只是隐藏在合并范围内。如果您删除了一组单元格的合并,其中以前是隐藏的单元格的内容将显示。

通过调用AddSpanCell 方法来创建一个合并单元格。在合并范围内的单元格类型没有改变。合并的单元

格类型将是左上方单元格类型。

您可以用GetSpanCell 方法来获得指定的单元格是否在一个合并单元格内。

您可以通过调用RemoveSpanCell 方法来删除一个合并单元格,您也可以通过调用RemoveSpanCell 方法同时指定合并单元格内的锚定格来删除一个合并单元格。当您删除一个合并单元格, 先前合并单元

格内的数据将重新显示在单元格中,数据并没有被删除, 只是被简单地隐藏在了合并单元格。

注意:在一个排序表单内,合并单元格是不会显示的。当表单的任意部分使用SortRange方式

排序

以后, 合并区域将会隐藏。如果单元格区间内包含合并单元格,就不能使用SortRange 来排序。

在锚定单元格上设置的属性(包括单元格批注)应用到合并单元格。如果您在合并单元格内非锚定

单元格中设置单元格批注,单元格批注将不显示。当您创建合并单元格,在合并中的第一个单元格中的

数据(指定的Col 和Row 参数)将占所有合并空间。当您创建一个合并单元格时,原始的每一个单元

格仍然存在,但不显示,其数据也只是隐藏。另外,合并单元格中原始的每个单元格类型也没有改变。

GetCellSpan 方法只能在当前被选择的表单中被调用。当您设置了当前表单后,这个方法也起作用。

调用 GetCellSpan 方法会返回指定的单元格是否在一个合并的单元格内。如果它在一个合并的单

元格内,该方法将返回一个CellRange 对象,其中包含锚定单元格的行和列以及合并区域内的行数和列

数。这个方法只能在当前选择的表单中被调用。当您设置了当前表单后,这个方法也起作用。 如果一个合并的列与一个合并单元格交叉,合并的列将会替换合并的单元格。所以在合并的时候不

单元格操作 24

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

要合并那些已经是合并单元格的一部分的单元格。

使用代码

您能够使用如下方法来合并单元格或者删除合并的单元格:

AddSpanCell, GetSpanCell, 和 RemoveSpanCell AddColumnHeaderSpan 和 AddRowHeaderSpan

示例: 调用 Sheets 对象的 AddSpanCell 方法来合并单元格 下面的代码定义了一些单元格的内容然后合并6 个相邻的单元格。 使用 Spread 设计器

1. 在电子表单上选择一些单元格准备合并。 2. 点击鼠标右键然后选择合并。

3. 另一种方式是,在属性列表(在Misc 分类中), 选择RowSpan 或者ColumnSpan 属性,设置一个大

于1 的数字去合并单元格。如果想要删除合并的单元格,则把其重新设为1。 下图显示了合并的单元格。

4. 从“文件”菜单选择“应用并退出”来应用变更到Spread 然后退出Spread 设计器。

3.4 锁定、解锁单元格

您可以锁定一个单元格或者一个范围内的单元格,使得它们不能再被最终用户编辑。您可以给这些 [C#]

//设置2 个单元格的文本。.

fpSpread1.ActiveSheet.Cells[1,1].Text = \fpSpread1.ActiveSheet.Cells[2,2].Text = \// 合并6 个包含不同内容的单元格

fpSpread1.ActiveSheet.AddSpanCell(1, 1, 2, 3);

[Visual Basic]

' 设置2 个单元格的文本。

fpSpread1.ActiveSheet.Cells(1,1).Text = \fpSpread1.ActiveSheet.Cells(2,2).Text = \' 合并6 个包含不同内容的单元格

fpSpread1.ActiveSheet.AddSpanCell(1, 1, 2, 3)

单元格操作 25

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

锁定的单元格设置不同的外观以便用户注意到它们。

您可以使用Cell, Column,Row 或者AlternationRow 这些对象的Locked 属性来锁定单元格。您也可

以用StyleInfo 对象的Locked 属性,然后应用格式到您想要锁定的单元格。为使锁定得到效果,同时您

必须设置SheetView 对象的Protect 属性为 True。

Locked 属性标记了这个单元格是否被锁定,而Protect 属性设置了是否这个单元格需要被锁定。当

单元格被锁定以防止用户输入时,Protected 属性必须设置成True。Protected 的默认值也是True。如

果设置Protected 为False, 用户依旧可以和单元格交互。

另一种锁定单元格的方式是设置文本框单元格(使用TextCellType)的ReadOnly 属性。这样也可以

让单元格不能被编辑。

您可以使用SheetView 或者是Appearance 对象的LockBackColor, LockForeColor, 和LockFont 属

性在

锁定的单元格内指定一种不同的颜色(设置背景或者是文本)或者字体。

锁定单元格不会锁定任何单元格之上的图形(浮动对象)。一个受保护的表单意味着表单中所有被标

记成被锁定的的单元格都会被锁定,但不会应用到表单的图形上。 使用代码

使用单元格、行或列的Locked 属性 您可以把单元格标记成被锁定的。如果您想要单元格被锁定来

阻止用户输入,SheetView 的Protect 属性必须设成True。 示例

使用 Spread 设计器

1. 在工作区,通过拖拽一片区域的单元格或者选择一行或者一列的头来选择一些您想要锁定的单

[C#]

fpSpread1.ActiveSheet.Protect = true;

fpSpread1.ActiveSheet.LockBackColor = Color.LightCyan; fpSpread1.ActiveSheet.LockForeColor = Color.Green; fpSpread1.ActiveSheet.Columns[0, 3]. Locked = true; fpSpread1.ActiveSheet.Cells[1,1,1,2]. Locked = false;

[Visual Basic]

FpSpread1.ActiveSheet.Protect = True

FpSpread1.ActiveSheet.LockBackColor = Color.LightCyan FpSpread1.ActiveSheet.LockForeColor = Color.Green

FpSpread1.ActiveSheet.Columns[0, 3].Locked = True FpSpread1.ActiveSheet.Cells[1,1,1,2]. Locked = False

单元格操作 26

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

元格。

2. 在属性列表(在Misc 分类中)选择 Locked 属性, 然后选择 True (另一种方式是选择Cells 属性,

点击按钮以弹出“Cells,Columns, and RowsEditor”来选择编辑器中的单元格) 。

3. 点击包含单元格的电子表单的名字标签, 从属性列表(在行为分组中)选择Protect 属性设置为 True。

从“文件”菜单选择“应用并退出”来应用变更到组件然后退出设计器。

3.5 给单元格添加批注

您也可以给一个单元格或者一个范围内的单元格添加批注。这个批注包含一些诸如注释,问题或者

文档性的描述来说明单元格的原始数据。在单元格的右上角有一个批注图标来说明这个单元格包含批

注(默认是一个小的红色方块)。当鼠标划过批注图标时,批注将会以一个方框的形式显示在单元格的旁

边以显示批注内容。另外您也可以让单元格批注始终显示而不仅仅在鼠标划过批注图标时显示。单元

格批注是一种弹出式的批注,它们的显示方式类似于文本提示。 如下图所示:

单元格右上角的红色方块说明那里有一个批注。您可以用Spread 的CellNoteIndicatorVisible 属性来隐藏

这个单元格批注图标。您也可以使用NoteIndicatorPosition 属性来设置批注的位置。 定制批注的行为

您可以让批注就像即时贴一样一直显示。这时会有一个矩形框将会出现在单元格的旁边。同时还有

一根延长线连接批注和单元格。这根延长线也可以让用户移动批注。下图显示了一个选中的像即时贴一

样的批注。为了得到此种效果,单元格的NoteStyle 属性必须设置为StickyNote。在这个例子中即时贴

批注是一个可以被移动的图形。

单元格操作 27

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

为了移动批注,当鼠标停留在批注上时,鼠标左键按下,拖拽到目标位置即可。从批注图标出发的

那根线会自适应延伸到批注的位置。

如果批注始终显示,用户就可以编辑批注。为了让用户编辑批注,您必须设置表单的AllowNoteEdit 属性为True,来允许用户编辑一直显示的单元格批注。

单元格批注包含更多的可读信息给最终用户,也可以允许用户在单元格批注中附加说明自己的信 息。这些资料对最终用户来说可能是十分有意义的。比如,最终用户可能会利用单元格的批注,以显示

单元格的原始值的来源(比如单元格批注=“值是从一个消费者报告杂志7 月号上的文章获得”)。 单元格批注还包含如下功能:

根据内容批注大小自动调整 定制单元格批注的位置

单元格的批注可以被放置在任何位置 定制单元格批注图标 (见下节) 打印单元格批注

您也可以使用标准批注的NoteStyleInfo 类还有固定批注的StickyNoteStyleInfo 类来定制单元格批注的外 观。 限制

当使用和显示单元格批注时有一些限制:

当单元格对象的NoteStyle 属性被设置成隐藏时,批注将不会显示。

当单元格类型的IsReservedLocation 被设置成true 以后,批注不能显示在一些单元格类型上。

这可能发生在Checkbox 单元格,或者是不能编辑的ComboBox 单元格或者是当鼠标滑过 hyperlink 单元格的超链接时。

单元格批注图标在单元格编辑时不会出现。

在锚定单元格上的批注会显示在一个合并单元格内。但是合并单元格内其他单元格的批注将不 会显示。

当单元格包含一个红色批注时请谨慎选择红色作为单元格的背景。红色的批注图标在红色背景

下是显示不出来的。

单元格操作 28

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

定制批注图标

您可以改变批注图标的尺寸和颜色。批注图标的默认大小是3x3 的方块。您可以设置 NoteIndicator 的宽和高为任意的正整数值。批注图标的默认颜色是红色。不过您可以设置任意颜色给

它。下图显示了一个使用默认值和一个使用自定义尺寸和颜色的批注图标。使用 NoteIndicatorColor 和

NoteIndicatorSize 属性来定制批注图标的大小和颜色。 使用代码示例

如下示例代码设置了一个可编辑的批注给一片区域的单元格然后把批注图标的颜色设置成了绿色 (从红色)。

使用 Spread 设计器

1. 在工作区域内,选择一个或者是几个您想设置批注的单元格。 2. 在属性列表(在Misc 分组中)中选择Note 属性然后输入一些文本。

3. 另外一种方式是选择Cells 属性然后点击按钮弹出“Cells, Columns, and Rows Editor”来选择

编辑器中的单元格。

4. 从“文件”菜单选择“应用并退出”来应用变更到组件然后退出Spread 设计器。

3.6 设置公式

您可以给单元格或一片区域的单元格添加公式。您也可以给所有行或列的单元格添加公式。该公式

[C#]

fpSpread1.Sheets[0].AllowNoteEdit = true; fpSpread1.Sheets[0].Cells[1, 1, 3, 3].Note = \

fpSpread1.Sheets[0].Cells[1, 1, 3, 3].NoteIndicatorColor = Color.Green; fpSpread1.Sheets[0].Cells[1, 1, 3, 3].NoteStyle = FarPoint.Win.Spread.NoteStyle.StickyNote;

[Visual Basic]

FpSpread1.Sheets(0).AllowNoteEdit = True FpSpread1.Sheets(0).Cells(1, 1, 3, 3).Note = \

FpSpread1.Sheets(0).Cells(1, 1, 3, 3).NoteIndicatorColor = Color.Green FpSpread1.Sheets(0).Cells(1, 1, 3, 3).NoteStyle = FarPoint.Win.Spread.NoteStyle.StickyNote

单元格操作 29

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

是一个用字符串来说明的公式表达式,通常包含一些功能、操作和常量的组合。

当设置行或列的公式时,您给该行或列指定了一个默认的公式。换句话说,该公式可以被用到行或

列上任何的单元格(假设该公式不是在单元格级别上被覆盖)。对于行或列的公式,Spread 使用行或

列中的第一个单元格为基础位置。如果使用相对寻址,该公式为列A 的每个单元格计算出不同结果。

如果您想要列A 的每个单元格得到C2 和D2 (不是列C 和列D 上所有行的数据) 的总和,您可能需要用

到表达式$C$2+$D$2,这个表达式用了绝对路径。

您可以通过指定对象的Formula 属性或在设计器上输入公式来为一个对象设置公式。如何使用代码

来完成这个操作,请参考下面的内容。有关使用设计器来输入一个公式的说明,请参考在设计器中输入

公式中的指南。您可以让最终用户键入等号,然后输入表达式来完成输入公式的操作。 在查找数据时,要小心单元格的类型,以及您是否使用Text 或Value 属性作为公式中的数据计 算。当您使用Text 属性计算单元格数据,电子表单使用单元格类型把指定的字符串解析成所需的数据

类型。当您把单元格数据保存在Value 属性上时,工作表接受指定的数据,也没有解析发生。所以如果

您设定了一个字符串,它仍然是一个字符串。有些和数字相关的功能(如SUM)会忽略在单元格区域

中的非数字数值。例如,如果单元格区域A1:A3 包含值(1,“2”,3),则公式SUM(A1:A3)的

值为4,因为SUM 函数忽略字符串“2”。要确保您设置的公式计算正确请使用正确的数据类型。 一个公式中包含的字符串常量可以包含诸如新行字符的特殊字符(即'\\n')。请确保您的公式中用

正确的方式描述了引用的字符串常量。下面的C#代码创建了一个多行文本单元格,其设置的公式包含

了一个字符串常量,一个换行字符。 使用代码

这种使用代码添加公式的方式只有在运行时才能看到效果。您可以通过设置单元格、行或者列的

Formula 属性来为单元格、行或者列添加一个公式。 示例

下面这个 示例演示了从第一个单元格中查找第五次的Product 的值,把结果放置到另外一个单元

格中。然后计算出单元格区域(A1 到A4)的总计把结果放到第三列中。 使用 Formula 编辑器

在运行时,您可以在Spread 设计器中使用Formula 条或者Formula Editor 在单元格中输入一个公

式。Formula Editor 也可以从Properties Window 打开使用。关于创建公式的详细功能和操作, 请参考

TextCellType ct = new TextCellType(); ct.Multiline = true;

fpspread1.Sheets[0].Cells[0,0].Formula = \

[C#]

FpSpread1.ActiveSheet.Cells[2, 0].Formula = \FpSpread1.ActiveSheet.Columns[3].Formula = \

[Visual Basic]

FpSpread1.ActiveSheet.Cells(2, 0).Formula = \FpSpread1.ActiveSheet.Columns(3).Formula = \

单元格操作 30

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

Spread 的.NET Formula Reference。 1. 选择一个电子表单。

2. 选择电子表单的一个或多个单元格。

3. 在Formula 属性上,点击箭头按钮可以打开Formula Ediotr。

4. 在Formula Editor 上,您可以在编辑框内键入公式。您可以在编辑框的某个特定功能名称上双

击以帮助输入公式,您可以键入操作符和常量来完善您的公式。 5. 完成之后,点击“应用”,点击“OK”关闭编辑器。

6. 如果您在Spread 设计器上工作,从“文件”菜单选择“应用并退出”来应用变更然后退出 Spread 设计器。

行列操作 31

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

4. 行列操作

4.1 设置行列数

当您创建一个电子表单的时候,它会自动创建500 行和500 列。您可以把行数或者列数设置为0

到2000000 之间的任意数字。

更多信息,请参考SheetView.RowCount 属性和 SheetView.ColumnCount 属性。. 使用代码

为 Sheets 对象设置 ColumnCount 或者 RowCount 属性。 示例

这个例子演示了设置第一个电子表单的行数为100,列数为10。 使用 Spread 设计器

1. 选择您想设置行数或者列数的电子表单。

2. 在电子表单的属性列表里设置ColumnCount 和RowCount 属性。

3. 从“文件”菜单选择“应用并退出”来应用变更到组件然后退出Spread 设计器。

4.2 移动行列

用户可以拖拽并移动行或列。设置AllowRowMove 属性可以让用户移动行,设置AllowColumnMove 属性可以让用户移动列。如果您想要用户移动多行或多列,请设置AllowRowMoveMultiple 或者

AllowColumnMoveMultiple 属性。 [C#]

fpSpread1.Sheets[0].ColumnCount = 10; fpSpread1.Sheets[0].RowCount = 100;

[Visual Basic]

FpSpread1.Sheets(0).ColumnCount = 10 FpSpread1.Sheets(0).RowCount = 100

行列操作 32

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

用户如果想要移动行或列,他们只要简单地在头区域单击行头或列头来移动和拖动头向前或者向后

移动,然后在目标头上释放鼠标(多行的话,首先要选择需要移动的行和列)。移动中的行或者列在鼠标下

是半透明的。如下图所示,第四列准备移向左边。 用代码移动行和列

用编程方式实现移动一或多行,可以使用SheetView.MoveRow 方法。用编程方式实现移动一列或

多列,可以使用SheetView.MoveColumn 方法。如果您对模块比较熟悉,您可以使用 DefaultSheetAxisModel.Move 方法。 使用代码

设置 FpSpread 组件的AllowRowMove 或 AllowColumnMove 属性。

示例

使用 Spread 设计器

1. 在设计器的右上角的下拉框里选择Spread。

2. 在Misc 分组里设置AllowRowMove 或AllowColumnMove 属性为True 或False。 3. 在“文件”菜单中,选择“保存并退出”保存变更。

[C#]

fpSpread1.AllowRowMove = true; fpSpread1.AllowColumnMove = true;

[Visual Basic]

FpSpread1.AllowRowMove = True FpSpread1.AllowColumnMove = True

行列操作 33

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

4.3 调整行高、列宽

用户也可以调整表单中的行高和列宽。为调整行高、列宽,首先必须设置行或者列的Resizable 属 性为True。如果用户想要调整行高或列宽,只需要点击行头或列头的边缘位置来调整和拖动头的边缘

然后在合适的尺寸处释放鼠标。当鼠标左键按下,一条线就会随着鼠标移动。如下图所示。请注意该线

是在行的右边和列的下边。双击行的边缘可以让行调整高度以显示行中最高文本。双击列的边缘可以让

列调整宽度以显示列中最宽文本。

在默认情况下,用户可以调整行和列的数据区的大小,头区是不允许的。在代码中,可以调整行头

和列头,而不仅仅是行和列的数据区。您可以使用Resizable 的属性覆盖默认行为,防止用户调整大 小。

下面的代码可以把行头上的第一列设置成可调整大小的: 下面的代码可以把行头上的所有列都设置成可调整大小的:

您可以使用SheetView 这个类上的如下方法来得到或者设置特定的行、列能否调整大小。 GetColumnSizeable SetColumnSizeable GetRowSizeable SetRowSizeable 使用代码

设置行或者列的Resizable 属性把第一行和第一列设置成可以调整大小的。 示例

spread.Sheets[0].RowHeader.Columns[0].Resizable = true; spread.Sheets[0].RowHeader.Columns.Default.Resizable = true;

[C#]

fpSpread1.Sheets[0].Columns[0].Resizable = true; fpSpread1.Sheets[0].Rows[0].Resizable = true;

[Visual Basic]

FpSpread1.Sheets(0).Columns(0).Resizable = True FpSpread1.Sheets(0).Rows(0).Resizable = True

行列操作 34

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

使用 Spread 设计器

1. 在设计器的右上角从下拉框中选择Sheet。

2. 在外观分类中选择行或者选择列,然后单击“Cells,Columns, and Rows Editor”按钮。 3. 在编辑器中选择一行或者一列。 4. 选择Resizable 属性。

5. 从下拉框中选择一个值 ( True, False)。

6. 在“文件”菜单中,选择“保存并退出”来保存修改。

4.4 冻结行列

您可以冻结(使其不可滚动)一定的行数,列数。您可以冻结上面的任意行(被称为领先行),您也可

以冻结最左边的任意列(被称为领先列)。您也可以冻结最底部的任意行数或者最右边的任意列数。冻结

的领先行和领先列永远留在最顶部以及最左边,冻结的最底部的行(末尾行)和最右边的列(末尾列)也永

远停留在那里,无论鼠标滚轮如何滚动。

下图展示了一个视图中被冻结的最底部行和最右边列。 与冻结行和冻结列相关的属性有: FrozenRowCount FrozenColumnCount FrozenTrailingColumnCount FrozenTrailingRowCount

在运行时,冻结行和冻结列是不能滚动的。但是在设计时,他们依然可以滚动。

底部的冻结行和右边的冻结列不能重复打印在每页的最底部和最右边,只能作为最后行和最后列

印。领先行和领先列可以重复打印。

行列操作 35

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

领先行和领先列是一个独立的视图,末尾行和末尾列也是一个独立的视图。冻结视图的索引是: 在级联显示中,冻结领先行和冻结领先列可以在子表单中使用。 使用代码

设置 Sheet 的FrozenRowCount、FrozenColumnCount、FrozenTrailingColumnCount、或

FrozenTrailingRowCount 属性。 示例

使用 Spread 设计器

1. 在设计器的右上角的下拉框中选择择Sheet。

2. 在SheetView 的property 中,在 FrozenColumnCount、FrozenRowCount、 FrozenTrailingColumnCount、或 FrozenTrailingRowCount 属性上键入数字。 3. 在“文件”菜单中,选择“保存和退出”来保存变更。

[C#]

fpSpread1.Sheets[0].FrozenColumnCount = 2; fpSpread1.Sheets[0].FrozenRowCount = 2;

fpSpread1.Sheets[0].FrozenTrailingColumnCount = 2; fpSpread1.Sheets[0].FrozenTrailingRowCount = 2;

[Visual Basic]

FpSpread1.Sheets(0).FrozenColumnCount = 2 FpSpread1.Sheets(0).FrozenRowCount = 2

FpSpread1.Sheets(0).FrozenTrailingColumnCount = 2 FpSpread1.Sheets(0).FrozenTrailingRowCount = 2

行列操作 36

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

4.5 使用分组

您可以设置行像Outlook 那样进行分组。在大数据量的时候,以用户需要的方式来显示数据对用户

是非常有帮助的。用户选择想要排序的列,组件将以级联方式组织行和显示数据。如果要分组显示数

据,请选择一列,双击列标题或者单击并拖拽列到页面顶端的分组栏中。下图展示了一个分组的例子。

您可以拖拽更多的列标题到分组区来生成多级分组以便排序数据。下图显示了两级的分组: 您可以通过点击加号(+)或者减号(-)来展开和收起分组。

在次要分组之前:拖拽列头到分组栏中。 次要分组之后:现在第二层的级联显示。

当多个级别被选择,上级称为父组,下级称为子组。在上面的第二张图片,雇员ID 是父组,名字是 子组。

行列操作 37

产品网站 http://www.grapecity.cn/tools 技术支持论坛http://gcdn.grapecity.com

默认情况下,电子表格不允许出现行的分组。您可以打开此功能,对整个表的行分组。除了允许分

组,您还需要允许列移动,因为用户通过单击并拖动到头分组栏来分组,这个行为类似移动列。此外,

该分组栏必须是可见的,同时列头(至少1 行)也应可见。

使用电子表单上的 AllowGroup 属性打开分组功能。使用电子表单的 GroupBarVisible 属性

本文来源:https://www.bwwdw.com/article/532r.html

Top