在用Excel作报表的时候,可能会碰到分页的情况,这样就要分成多个Sheet显示,如果要在每页都保留表头,就需要将第一页作为模板设计的表头部分拷贝到其他的Sheet上,这时就要用用到Excel中的单元格拷贝。

下面的代码说明如何一个Sheet上的选定内容拷贝到另一个Sheet上:

ThisApplication = new Excel.Application();

ThisWorkbook = ThisApplication.Workbooks.Open("z:\\Book1.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

ThisApplication.DisplayAlerts = false;

xlSheet = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(1);

Excel.Range range = xlSheet.get_Range("A1", Type.Missing);

range.Value = "123";

Excel.Worksheet sheet1 = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(2);

Excel.Range range1 = sheet1.get_Range("B1", Type.Missing);

range.Copy(range1);

ThisWorkbook.SaveAs("z:\\Book2.xls", Type.Missing, Type.Missing,

Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange,

Type.Missing, Type.Missing, Type.Missing, Type.Missing);

可以看到,核心的代码是很简单的,就是选定一个源区域,然后指定另一个目标区域,调用源区域的Copy方法将内容整个复制到目标区域,但是你会发现是连单元格的格式等属性一并拷贝过去的,如果要只拷贝单元格中的文本呢?那就要用到windows剪贴板了:

xlSheet = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(1);

Excel.Range range = xlSheet.get_Range("A1", Type.Missing);

range.Value = "123";

System.Windows.Forms.Clipboard.SetDataObject(range.Value.ToString());

Excel.Worksheet sheet1 = (Excel.Worksheet)ThisWorkbook.Worksheets.get_Item(2);

Excel.Range range1 = sheet1.get_Range("B1", Type.Missing);

sheet1.Paste(range1, false);

要注意的是,这种方式只能选一个单元格,复制一个,不能选定一批单元格进行复制。

上面的例子只给出了主要部分的代码,其他的像销毁Excel进程等操作请参考前面的几篇Excel作报表的随笔。

转载于:https://www.cnblogs.com/fmxyw/archive/2008/09/09/1287847.html

使用C#和Excel进行报表开发(四)-复制单元格 【转】相关推荐

  1. 在Excel中插入行并复制单元格格式

    标题工作需要在Excel中的sheet页中,插入行并复制上一行的单元格格式.注意是当前sheet页中的操作.跨sheet页或者跨Excel文件并不能使用.` public static void ma ...

  2. 使用C#和Excel进行报表开发(一)--开始

    C#操作Excel进行报表开发系列共写了八篇,也已经有很久没有新东西了,现在整理一下,方便以后查阅,如果有写新的,会同时更新.需要注意的是因为Office的版本不同,实际的代码可能会有所不同,但是都是 ...

  3. vbs 对excel的操作 删除、修改单元格,设置字体、背景色 .

    vbscript 中对excel常见操作 dim oExcel,oWb,oSheet Set oExcel= CreateObject("Excel.Application") S ...

  4. 支持将数据导出到Excel文档的时候设置单元格格式的.NET控件Spire.DataExport

    Spire.DataExport for .NET是e-iceblue公司推出的一款数据导出类.NET控件.作为一款专业的数据导出控件,Spire.DataExport for .NET可以帮助开发人 ...

  5. php单元格字体颜色,PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽...

    PHPExcel API接口用法大全,按模板导入excel,美化excel,导出图片,设置单元格字体颜色背景色边框,合并单元格,设置行高列宽 2020-08-31 85 一:读取excel表模板$ph ...

  6. 把Excel批注的“红三角”放在单元格左上角_44个Excel使用技巧:怪不得同事表格类工作那么快完成,学以致用...

    获取更多业界资讯和深度好文● 点击蓝字关注我们 ● 44个Excel 使用技巧基本方法 作为职场人,加班累如狗. 如何更轻松的工作并获得喜人的报酬便是咱们职场人一直追求的"生活哲理" ...

  7. 把Excel批注的“红三角”放在单元格左上角_十个日常Excel操作小技巧,牢牢记住,对你帮助不少呢!...

    1. 快速选中全部工作表 鼠标右键单击工作窗口下面的工作表标签,在弹出的菜单中选择"选定全部工作表(S)"命令:如何选中部分工作表:1.(选中连续的工作表)按住shift,单击sh ...

  8. [Excel]Excel函数和用法(8)——返回单元格地址,Address函数

    [Excel]Excel函数和用法(8)--返回单元格地址,Address函数 语法: Address(row_num, col_num, [abs_num], [a1], [sheet_text]) ...

  9. Excel快速地拆分合并的单元格并填充数据

    在做Excel数据表为了美观.直观,经常会把相同内容的单元格数据合并.但这样做破坏了Excel表的完整性,不利于后期数据分析.这就要我们把合并的单元格重新拆分并填充数据,如下图,如何快速实现呢? 基本 ...

  10. html多个单元格合并单元格内容,excel怎样快速把多个单元格内容合并 合并多个单元格内容的设置方法...

    excel是我们常用的办公软件,有时我们需要把多个单元个的内容合并到一个单元格里,那么excel怎样快速把多个单元格内容合并?下面小编带来合并多个单元格内容的设置方法,希望对大家有所帮助. 合并多个单 ...

最新文章

  1. 解读MD07中可供货天数的计算
  2. Spring Aop面向切面编程自动注入
  3. Connect to dl.google.com:443 [dl.google.com/142.250.66.142] failed: Connection timed out:
  4. Windows Server 2008设置远程桌面连接的最大数量
  5. 服务器端系统饼图,服务器 操作系统 饼图
  6. IBM Watson IoT
  7. java搜索引擎lucene_简单lucene搜索实现(搜索引擎)
  8. html如何加入浮动客服,css如何实现客服悬浮效果
  9. sh文件执行的时候卡住的可能原因
  10. 异常处理与MiniDump详解 4 MiniDump
  11. SpaceClaim功能解析与应用介绍
  12. 换IP软件如何使用,一起来看下换IP软件的使用教程
  13. 铃木雅臣晶体管电路设计学习笔记1
  14. oracle TNS:listener does not currently know of service requested in connect descrip
  15. suger数据库使用1
  16. 数据库系统SQL编程-02
  17. 2017最新申请苹果开发者账号,申请appstore开发者账号,申请app开发者账号,申请苹果企业公司开发者账号
  18. 网络地址转换----NAT
  19. 蓝牙热敏打印开发(佳博打印机)
  20. 开源软件和开源社区的反思

热门文章

  1. 多主机Docker容器的VLAN划分
  2. bullet HashMap 内存紧密的哈希表
  3. 兼容门:先卸载腾讯QQ,再卸载360软件!
  4. python 动态规划 数塔_数塔问题,简单的动态规划算法
  5. springboot中的拦截器interceptor和过滤器filter,多次获取request参数
  6. ScrollView嵌套ViewPager,ViewPage动态设置高度,嵌套事件冲突——滑动冲突解决方法
  7. 微信小程序map作为子组件wx.createMapContext失效
  8. String类中不同拼接方式
  9. Java中BigDecimal的8种舍入模式
  10. Maven项目启动时如何查找默认的显示页面