Previous topicNext topic
Help > 开发指南 > Excel > API > 示例 > Cell单元格 >
如何:仅复制单元格数据、仅复制单元格样式或带样式的单元格数据

此示例演示如何将数据从一个单元格复制到另一个单元格,并指定应将复制数据的哪些部分(例如,仅值、仅格式信息、仅边框等)粘贴到目标单元格中。为此,请调用与要从另一个单元格复制数据的单元格相对应的 Cell 对象的 CellRange.CopyFrom 方法。将源单元格对象和 PasteSpecial 枚举器的必需成员作为参数传递。

Vb.Net
Dim worksheet As DevExpress.Spreadsheet.Worksheet = workbook.Worksheets(0)

worksheet.Columns("A").WidthInCharacters = 32
worksheet.Columns("B").WidthInCharacters = 20
Dim style As DevExpress.Spreadsheet.Style = workbook.Styles(DevExpress.Spreadsheet.BuiltInStyleId.Input)

'指定源单元格的内容和格式。
worksheet.Cells("A1").Value = "Source Cell"

Dim sourceCell As DevExpress.Spreadsheet.Cell = worksheet.Cells("B1")
sourceCell.Formula = "= PI()"
sourceCell.NumberFormat = "0.0000"
sourceCell.Style = style
sourceCell.Font.Color = Color.Blue
sourceCell.Font.Bold = True
sourceCell.Borders.SetOutsideBorders(Color.Black, DevExpress.Spreadsheet.BorderLineStyle.Thin)

'将所有信息从源单元格复制到“B3”单元格。
worksheet.Cells("A3").Value = "Copy All"
worksheet.Cells("B3").CopyFrom(sourceCell)

'仅将源单元格内容(例如,文本、数字、公式计算值)复制到“B4”单元格。
worksheet.Cells("A4").Value = "Copy Values"
worksheet.Cells("B4").CopyFrom(sourceCell, DevExpress.Spreadsheet.PasteSpecial.Values)

'复制源单元格内容(例如,文本、数字、公式计算值)和数字格式转换为“B5”单元格。
worksheet.Cells("A5").Value = "Copy Values and Number Formats"
worksheet.Cells("B5").CopyFrom(sourceCell, DevExpress.Spreadsheet.PasteSpecial.Values Or DevExpress.Spreadsheet.PasteSpecial.NumberFormats)

'仅将格式信息从源单元格复制到“B6”单元格。
worksheet.Cells("A6").Value = "Copy Formats"
worksheet.Cells("B6").CopyFrom(sourceCell, DevExpress.Spreadsheet.PasteSpecial.Formats)

'将除边框设置外的所有信息从源单元格复制到“B7”单元格。
worksheet.Cells("A7").Value = "Copy All Except Borders"
worksheet.Cells("B7").CopyFrom(sourceCell, DevExpress.Spreadsheet.PasteSpecial.All And Not DevExpress.Spreadsheet.PasteSpecial.Borders)

'仅将有关边框的信息从源单元格复制到“B8”单元格。
worksheet.Cells("A8").Value = "Copy Borders"
worksheet.Cells("B8").CopyFrom(sourceCell, DevExpress.Spreadsheet.PasteSpecial.Borders)

C#
DevExpress.Spreadsheet.Worksheet worksheet = workbook.Worksheets[0];

worksheet.Columns["A"].WidthInCharacters = 32;
worksheet.Columns["B"].WidthInCharacters = 20;
DevExpress.Spreadsheet.Style style = workbook.Styles(DevExpress.Spreadsheet.BuiltInStyleId.Input);

// 指定源单元格的内容和格式。
worksheet.Cells["A1"].Value = "Source Cell";

DevExpress.Spreadsheet.Cell sourceCell = worksheet.Cells["B1"];
sourceCell.Formula = "= PI()";
sourceCell.NumberFormat = "0.0000";
sourceCell.Style = style;
sourceCell.Font.Color = Color.Blue;
sourceCell.Font.Bold = true;
sourceCell.Borders.SetOutsideBorders(Color.Black, DevExpress.Spreadsheet.BorderLineStyle.Thin);

// 将所有信息从源单元格复制到“B3”单元格。
worksheet.Cells["A3"].Value = "Copy All";
worksheet.Cells["B3"].CopyFrom(sourceCell);

// 仅将源单元格内容(例如,文本、数字、公式计算值)复制到“B4”单元格。
worksheet.Cells["A4"].Value = "Copy Values";
worksheet.Cells["B4"].CopyFrom(sourceCell, DevExpress.Spreadsheet.PasteSpecial.Values);

// 复制源单元格内容(例如,文本、数字、公式计算值)和数字格式转换为“B5”单元格。
worksheet.Cells["A5"].Value = "Copy Values and Number Formats";
worksheet.Cells["B5"].CopyFrom(sourceCell, DevExpress.Spreadsheet.PasteSpecial.Values | DevExpress.Spreadsheet.PasteSpecial.NumberFormats);

// 仅将格式信息从源单元格复制到“B6”单元格。
worksheet.Cells["A6"].Value = "Copy Formats";
worksheet.Cells["B6"].CopyFrom(sourceCell, DevExpress.Spreadsheet.PasteSpecial.Formats);

// 将除边框设置外的所有信息从源单元格复制到“B7”单元格。
worksheet.Cells["A7"].Value = "Copy All Except Borders";
worksheet.Cells["B7"].CopyFrom(sourceCell, DevExpress.Spreadsheet.PasteSpecial.All & !DevExpress.Spreadsheet.PasteSpecial.Borders);

// 仅将有关边框的信息从源单元格复制到“B8”单元格。
worksheet.Cells["A8"].Value = "Copy Borders";
worksheet.Cells["B8"].CopyFrom(sourceCell, DevExpress.Spreadsheet.PasteSpecial.Borders);

下图显示了如何将单元格数据的不同部分复制并粘贴到其他单元格中(工作簿在 Microsoft® Excel® 中打开)。