对Excel内容进行操作,复制行能简化操作,首先看下要操作的模板的内容:
如果要将第3行的数据复制到第6行,该如何操作,先了解下微软Excel中是如何操作的:
选中要复制的行鼠标右键选择"Copy"复制选项,再选中要复制的行,鼠标右键选择"Paste"选项,如图:
如果Acey.ExcelX组件来操作,该如何写:
string path = @"Files\CopyRow.xls"; //创建工作薄通过打开。 IWorkbook workbook = ExcelxApplication.Open(path); //获取指定索引的工作表。 IWorksheet worksheet = workbook.Worksheets[0]; //获取指定行对象。 IRow row = worksheet.Rows[2]; //获取指定目标行对象。 IRow destRow = worksheet.Rows[5]; //复制指定源行对象。 destRow.Copy(row); //保存该工作薄为指定类型。 workbook.SaveAs(@"d:\book1.xls", FileFormat.Excel97To2003);
运行代码后生成Excel文件的效果,如图:
其中destRow.Copy(row);提供将源行内容(包含数据和样式)复制到指定的目标行对象中。简化了要一个单元格一个单元格输入值和对应格式。
Acey.ExcelX的IRow行对象除了提供Copy方法外,还提供CopyFormat方法只复制行的样式(包含行高和行样式),不复制数据。
用Aecy.ExcelX组件能轻松实现复制行的效果。