找回密码
 立即注册

QQ登录

只需一步,快速开始

背景
在某些场景下,需要复制或移动一个工作簿中某一个或几个表单(Worksheet),GcExcel(Grapecity Documents for Excel)在新版本中通过增加新的接口,支持试用代码的方式复制或者移动表单,具体接口如下:

接口
复制 API 用于将工作表集合复制到其他位置。
  • IWorksheets.Copy(IWorkbook targetWorkbook = null) 用于将工作表集合复制到指定工作簿的末尾。 如果目标工作簿为空,工作表集合将被复制到当前工作簿。
  • IWorksheets.CopyBefore(IWorksheet targetSheet) 用于将工作表集合复制到指定工作表之前的位置。 目标工作表可以属于任何工作簿。
  • IWorksheets.CopyAfter(IWorksheet targetSheet) 用于将工作表集合复制到指定工作表之后的位置。 目标工作表可以属于任何工作簿。
移动 API 用于将工作表集合移动到其他位置。
  • IWorksheets.Move(IWorkbook targetWorkbook = null) 用于将工作表集合移动到指定工作簿的末尾。 如果目标工作簿为空,则工作表集合将移动到当前工作簿。
  • IWorksheets.MoveBefore(IWorksheet targetSheet) 用于将工作表集合移动到指定工作表之前的位置。 目标工作表可以属于任何工作簿。
  • IWorksheets.MoveAfter(IWorksheet targetSheet) 用于将工作表集合移动到指定工作表之后的位置。 目标工作表可以属于任何工作簿。
注意:
  • 不能将当前工作簿的所有工作表移动到另一个工作簿会导致异常。 将所有工作表移动到当前工作簿时,什么都不做。
  • 当目标工作簿中存在同名时,工作表将通过添加后缀(x)来重命名。 x 代表同名索引。


代码示例
  1. // Create source file and add four worksheets
  2. Workbook workbook = new Workbook();
  3. IWorksheet worksheet1 = workbook.ActiveSheet;
  4. IWorksheet worksheet2 = workbook.Worksheets.Add();
  5. IWorksheet worksheet3 = workbook.Worksheets.Add();
  6. IWorksheet worksheet4 = workbook.Worksheets.Add();
  7. IWorksheet worksheet5 = workbook.Worksheets.Add();

  8. // Create target workbook
  9. Workbook targetWorkbook = new Workbook();

  10. // Copy the worksheet1 and worksheet2 to current workbook.
  11. workbook.Worksheets[new string[] { worksheet1.Name, worksheet2.Name}].Copy();

  12. // Copy worksheet3 and worksheet4 to the start of current workbook.
  13. workbook.Worksheets[new string[] { worksheet3.Name, worksheet4.Name }].CopyBefore(worksheet1);

  14. // Copy worksheet3 and worksheet4 to the end of current workbook.
  15. workbook.Worksheets[new string[] { worksheet3.Name, worksheet4.Name }].CopyAfter(worksheet5);

  16. // Move worksheet1 and worksheet2 to the location after the worksheet5.
  17. workbook.Worksheets[new string[] { worksheet1.Name, worksheet2.Name }].MoveAfter(worksheet5);

  18. // Move worksheet1 and worksheet2 to the location before the worksheet3.
  19. workbook.Worksheets[new string[] { worksheet1.Name, worksheet2.Name }].MoveBefore(worksheet3);
复制代码





0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部