制表符分隔的纯文本格式是电子表格应用之间通用的数据交换格式。Excel 使用这种格式将数据以纯文本形式放入剪贴板:
A1 \t B1 \t C1 \n A2 \t B2 \t C2 \n A3 \t B3 \t C3 \n
将 Excel 数据复制到记事本中:

从剪贴板获取制表符分隔的文本:
import win.clip;
var text = win.clip.read();
ReoGrid 提供了将制表符格式解析为对象数组的方法:
// 解析制表符分隔的文本为二维数组
var data = ReoGrid.RGUtility.ParseTabbedString(text);
然后将这个对象数组设置到工作表中:
// 将数据设置到当前选区范围
sheet1.SetRangeData(sheet1.SelectionRange, data);
使用工作表的 StringifyRange 方法将选定区域转换为制表符分隔的字符串:
// 将选区数据转换为制表符字符串
var tabbedStr = sheet1.StringifyRange(sheet1.SelectionRange);
使用 PasteFromString 方法将剪贴板中的制表符字符串粘贴到工作表。返回值 appliedRange 是最终粘贴到工作表的区域。
// 从剪贴板文本粘贴到A1单元格
var appliedRange = sheet1.PasteFromString(
ReoGrid.CellPosition("A1"), // 起始位置
win.clip.read() // 剪贴板文本
);
当用户按下 Ctrl-C、Ctrl-V 和 Ctrl-X 时,工作表会自动处理剪贴板操作。通过处理剪贴板事件并将 IsCancelled 设置为 true 可以阻止内置操作。
剪贴板操作相关事件:
所有以 Before 开头的事件都有 IsCancelled 属性,可以阻止默认的剪贴板操作。例如:
// 阻止默认粘贴操作
sheet1.BeforePaste = function(sender, event){
event.IsCancelled = true;
}
检查是否可以执行剪贴板操作的方法:
| 方法 | 描述 |
|---|---|
| CanCopy() | 检查是否可以将内容复制到剪贴板 |
| CanPaste() | 检查是否可以从剪贴板粘贴内容到工作表(剪贴板中存在可识别数据) |
| CanCut() | 检查是否可以将内容剪切到剪贴板 |
执行剪贴板操作的方法:
sheet1.Copy(); // 复制
sheet1.Paste(); // 粘贴
sheet1.Cut(); // 剪切
示例:
// 执行复制操作
if(sheet1.CanCopy()){
sheet1.Copy();
}
使用 GetPartialGrid 方法获取区域内容,使用 SetPartialGrid 方法将内容复制到指定区域。
// 获取A1:B2区域内容
var content = sheet1.GetPartialGrid("A1:B2");
// 将内容粘贴到C1:D2区域
sheet1.SetPartialGrid("C1:D2", content);
import win.clip;
sheet1.BeforePaste = function(sender, event){
// 事件处理逻辑
}
区域操作支持 A1 表示法(如"A1:B2")和行列索引(从0开始)
剪贴板文本会自动处理编码转换,无需额外操作
对于大数据量操作,建议先检查 CanCopy/CanPaste 避免不必要的操作