提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|其它|编辑:郝浩|2011-08-19 14:13:29.000|阅读 625 次
概述:你可以将数据以有格式或无格式字符串或者数据对象的形式填充到单元格中。将数据填充到单元格的最好方式取决于你想添加字符串数据还是数据对象,以及你想添加数据到单一的单元格还是某个范围内的所有单元格。举例来说,如果你使用的数据来自用户的文本框中,你可能想要添加由Spread控件解析的字符串数据。如果你想要添加多个值,并想要直接将它们添加到数据模型中,可以以对象的方式添加它们。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
你可以将数据以有格式或无格式字符串或者数据对象的形式填充到单元格中。将数据填充到单元格的最好方式取决于你想添加字符串数据还是数据对象,以及你想添加数据到单一的单元格还是某个范围内的所有单元格。
举例来说,如果你使用的数据来自用户的文本框中,你可能想要添加由Spread控件解析的字符串数据。如果你想要添加多个值,并想要直接将它们添加到数据模型中,可以以对象的方式添加它们。
下表汇总了在表单级别添加数据的方法。
数据描述 | 单元格数目 | 方法名 |
具有格式的字符串(例如"$1,234.56") | 单个单元格 | GetText SetText |
单元格区域 | GetClip SetClip |
|
没有格式的字符串(例如"1234.45") | 单个单元格 | GetValue SetValue |
单元格区域 | GetClipValue SetClipValue |
|
具有格式的数据对象 | 单元格区域 | GetArray SetArray |
当你使用带格式的数据时,为单元格设置格式的单元格类型解析数据,并将数据存放在数据模型中。当你使用不带格式的数据时,数据则直接保存在数据模型中。如果你要把数据添加到直接保存在数据模型的表单中,你可能需要解析这些数据,因为控件没有进行解析。
为了向控件中添加大量的数据,可以考虑创建和打开现有的文件,如文本文件或Excel格式的文件。你也可以通过保存数据并格式化为一个文本文件,Excel格式文件,或Spread XML文件来恢复数据。
下面的示例代码将带格式的数据添加到一个单元格区域中:
// 添加数据到A1至C3单元格. |
fpSpread1.Sheets[0].SetClip(0, 0, 3, 3,"Sunday\tMonday\tTuesday\r\nWednesday\tThursday\tFriday\r\nSaturday\tSunday\tMonday"); |
你可以复制一个单元格区域,并用该单元格区域填充另一个区域内的单元格,可以复制数据及单元格类型等。例如,如果现有一个2行2列的单元格区域,你可以重复向下垂直填充5组2行2列的单元格区域。
使用FillRange方法。该方法使用的参数有:
例如,使用下面的代码,你可以实现上图所示的结果。
// 定义需要反复填充区域的Text属性. |
fpSpread1.ActiveSheet.Cells[0, 0].Text = "A1-text"; |
fpSpread1.ActiveSheet.Cells[0, 1].Text = "A2-text"; |
fpSpread1.ActiveSheet.Cells[1, 0].Text = "B1-text"; |
fpSpread1.ActiveSheet.Cells[1, 1].Text = "B2-text"; |
fpSpread1.ActiveSheet.Cells[0, 0].BackColor = Color.Cyan; |
fpSpread1.ActiveSheet.Cells[0, 0].ForeColor = Color.DarkBlue; |
fpSpread1.ActiveSheet.Cells[0, 1].BackColor = Color.Coral; |
fpSpread1.ActiveSheet.Cells[0, 1].ForeColor = Color.DarkRed; |
// 用两行一列的内容填充右边的3列区域 |
fpSpread1.ActiveSheet.FillRange(0, 1, 2, 1, 3, FillDirection.Right); |
// 用两行两列的内容填充下边的4行区域 |
fpSpread1.ActiveSheet.FillRange(0, 0, 2, 2, 4, FillDirection.Down); |
你可以使用表单的Copy方法从单元格复制数据,并粘贴到其他单元格。
当你将数据复制到一个单元格(或一个单元格区域)时,数据会替代目标单元格(单元格区域)中的数据。如果该操作复制了一个单元格区域,并将其粘贴到一个位置重叠的区域,那么所有你要粘贴的单元格的值都会被复制的单元格的值所替代。
你可以指定当单元格或单元格区域被复制时,其中的公式是否自动更新。
你可以使用表单的Move方法 将一个单元格或一个单元格区域的数据移动到另一个单元格或另一个单元格区域。
当你把数据从一个单元格(或一个单元格区域)移动到另一个单元格时(或单元格区域),原单元格(或单元格区域)中的数据就会替代目标单元格(或单元 格区域)中的数据。如果该操作移动了一个单元格区域,并将其移动到一个位置重叠的区域,那么所有你要移动的单元格的值都会被移动的单元格的值所替代。
当单元格或单元格区域被移动时,你可以指定其中的公式是否自动更新。
为了将表单的3行数据向上移动,并将5行数据向下移动,你可能需要在目标位置处插入空行。为了将3行向上移动,5行向下移动,首先临时复制五行数据,然后将3行数据向上移动到它们的目标位置,然后再将复制的五行分配到正确的位置。
下面的代码完成上述操作:
FarPoint.Win.Spread.Model.DefaultSheetDataModel dm = new DefaultSheetDataModel(5, this.fpSpread1.Sheets[0].Models.Data.ColumnCount); |
dm.SetArray(0, 0, (this.fpSpread1.Sheets[0].Models.Data as FarPoint.Win.Spread.Model.DefaultSheetDataModel).GetArray(0, 0, 5, 5)); |
dm.RemoveRows(0, 5); |
dm.AddRows(0, 3); |
dm.Move(this.fpSpread1.Sheets[0].Models.Data.RowCount - 4, 0, 0, 0, 3, this.fpSpread1.Sheets[0].Models.Data.ColumnCount); |
dm.RemoveRows(this.fpSpread1.Sheets[0].Models.Data.RowCount -4, 3); |
dm.AddRows(this.fpSpread1.Sheets[0].Models.Data.RowCount, 5); |
dm.SetArray(this.fpSpread1.Sheets[0].Models.Data.RowCount - 6, 0, dm.GetArray(0, 0, 5, this.fpSpread1.Sheets[0].Models.Data.ColumnCount)); |
你可以交换两个单元格或两个单元格区域的内容。
当你交换两个单元格或两个单元格区域的数据时,单元格的设置也会随着数据一起交换。如果你所做的设置是针对包含单元格的整个列或行或整个表单,而不 是针对单元格自身所做的设置,那么这些设置不会被交换。例如,如果你将源单元格的背景色设置为红色,那么背景色能够被交换过去,目标单元格的背景色就变成 了红色。然而,如果你将包含源单元格的列的背景色设置为红色,那么该设置不会被交换。
当你把数据从一个单元格交换到另外一个时,那么一个单元格中的数据就会变成另外一个单元格的数据,反之亦然。例如,如果单元格A1包含值4,单元格B3包含值6,那么当你交换这两个单元格时,A1单元格的值就会变成6,B3单元格的值会变成4。
如果你尝试将目标区域与一个比它的可用区域大的区域进行交换时,交换操作不会执行。例如,如果你想交换一个含4个单元格的区域,而指定目标区域为表单边界的一个单元格时,那么交换操作不会发生。
如果交换操作要交换有重叠区域的单元格,那么独立的单元格从重叠区域的转角处开始交换。
这里是一个交换单元格区域的代码示例:
fpSpread1.ActiveSheet.RowCount = 10; |
fpSpread1.ActiveSheet.ColumnCount = 10; |
private void button1_Click(object sender, System.EventArgs e) |
{ |
fpSpread1.ActiveSheet.SwapRange(0, 0, 3, 0, 3, 3, true); |
} |
你可以删除所选的单个单元格或多个单元格或一个单元格区域中的数据以及单元格格式,或只删除数据,保留单元格的格式。想了解更多有关单元格格式的信息,请参考理解单元格类型如何显示数据。你可以使用任意一个清除方法或使用剪贴板的剪切数据操作来删除数据。
你可以使用默认数据模型中任意一个清除方法来删除数据:
如果你使用ClearRange方法,并将dataOnly参数设置为true,该方法会清除公式,单元格注释,以及该区域单元格中的文本; 换句话说,它会清除数据模型中与这些单元格相关的所有信息。
你可以使用range接口中的IRangeSupport.Clear方法来删除一个单元格区域的内容。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:博客园面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢