实现环境:Visual Studio 2010, Office 2010, VSTO 4.0, .NET Framework 4.0

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
using Excel = Microsoft.Office.Interop.Excel;
using System.Windows.Forms;namespace ExcelAddIn8
{public partial class Ribbon1{private void Ribbon1_Load(object sender, RibbonUIEventArgs e){}/// <summary>/// 在下面的动作中,将从选中的文件中的用户自定义区域(UsedRange)中拷贝/// 数据到现在这个WorkSheet中并根据选中文件中UsedRange的行高列宽来设定被/// 粘贴数据区域的行高列宽。/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void button1_Click(object sender, RibbonControlEventArgs e){var missing = Type.Missing;string SourcePath = string.Empty;Excel.Application objApplication = Globals.ThisAddIn.Application;Excel.Application objSourceApplication = new Excel.Application();Excel.Workbook objTargetWorkbook = objApplication.ActiveWorkbook;OpenFileDialog objOpenFileDialog = new OpenFileDialog();objOpenFileDialog.Filter = "Excel Document(.xlsx)|*.xlsx";objOpenFileDialog.ShowDialog();SourcePath = objOpenFileDialog.FileName;if (SourcePath.Length > 0){Excel.Workbook objSourceWorkbook = objSourceApplication.Workbooks.Open(SourcePath, missing, missing, missing,missing,missing,missing,missing, missing, missing, missing, missing, missing,missing, missing);Excel.Worksheet objWorkSheet = objSourceWorkbook.Worksheets[1];objWorkSheet.UsedRange.Copy(missing);Excel.Worksheet objTargetSheet =objTargetWorkbook.ActiveSheet;if (objTargetSheet != null){objTargetSheet.Paste();Excel.Range objTargetRange = objApplication.ActiveCell;//以下代码用来重新设定Range区域,使之与源文件中的UsedRange范//围相当。objTargetRange = objTargetSheet.Range[objTargetSheet.Cells[objTargetRange.Row, objTargetRange.Column],objTargetSheet.Cells[objTargetRange.Row + objWorkSheet.UsedRange.Rows.Count-1,objTargetRange.Column + objWorkSheet.UsedRange.Columns.Count]];//根据UsedRange的列宽来设置选定区域的列宽。objTargetRange.ColumnWidth = objWorkSheet.UsedRange.ColumnWidth;//根据UsedRange的行高来设置选定区域的行高。objTargetRange.RowHeight = objWorkSheet.UsedRange.RowHeight;}}((Excel._Application)objSourceApplication).Quit();objSourceApplication = null;}}
}

相关资源:http://download.csdn.net/detail/tx_officedev/3900007

转载于:https://www.cnblogs.com/mksword/archive/2011/12/09/3934157.html

Excel从另一个Excel文件中用户自定义区域(UsedRange)拷贝数据和行高、列宽相关推荐

  1. speedoffice(Excel)表格中怎么自动调整行高列宽?

    在excel中录入数据时因为默认的单元格行高和列宽都很小,往往会出现输入的多行文字显示到其他单元格位置,下面了解Excel表格中自动调整行高列宽的方法. 打开excel之后选中单元格输入文字,可以看到 ...

  2. Java POI的Excel操作(行高列宽比例;生成说明,标题,字段;导出Excel代码,压缩)

    摘要 本文主要讲解了POI中的表格行高列宽比例,以及根据这个不同的场景生成,如标题,说明,字段头.主要是思路给大家参考,生成表格如下(完整代码代码在最后,由于我的数据格式特殊,我把我以前的通用导出数据 ...

  3. Excel如何将行高列宽等格式设置一并全复制?

    今天要和大家分享的是,Excel如何将行高列宽等格式设置一并全复制?复制粘贴在简单不过的操作,但是往往粘贴过去的时候,尤其是行高和列宽并没有保留原来的设置,使得数据格式走样-- (方方格子插件) 1. ...

  4. C# Excel 行高,列宽,合并单元格,单元格边框线,冻结

    C# Excel 行高,列宽,合并单元格,单元格边框线,冻结 原文:http://hi.baidu.com/kjkj911/blog/item/0ecc3ec7855dd6d4d100600f.htm ...

  5. excel表格怎么调整行高和列宽_Excel 表格技巧—一键调整行高列宽的方法

    在Excel表格中有成千上万行和列需要调整到适合的单元格,需要怎么操作呢?今天我们来学习一下. 1.首先选择我们需要处理的单元格,选择[开始]-[行和列]-[最适合的行高].如下图所示: 2.自动调节 ...

  6. excel表格行宽列高怎么设置_excel的行高列宽怎么设置_excel的行高和列宽在哪设置...

    在使用excel时,行高和列宽一定程度上影响着整个表格的美观程度,下面为你分享了几个关于行高列宽的超实用的小技巧,感兴趣的小伙伴快来看看吧! 1.行高的单位像素怎么更改为厘米? 在设置表格时,要求设置 ...

  7. python复制excel的sheet表不改变表格式及行高列宽(调用win32com库)

    python使用win32com库复制excel的sheet到sheet末尾,并对表进行重命名,不改变原有格式及行高列宽. import win32com.client as win32 import ...

  8. T88 excel 行高列宽单位

    如何以厘米为单位精确设置Excel表格的行高列宽? http://www.360doc.com/content/20/0302/06/55021079_896078049.shtml

  9. excel表格怎么调整行高和列宽_wps表格课程08|调整行高列宽

    本课程由菜鸟在线教育独家出品,未经授权严禁用于商业用途,侵权必究 客服微信:13264012523 调整行高列宽是表格内容布局的必备技能. 方法/步骤 ■ 调整行高/列宽的最基础办法是:将鼠标定位到行 ...

最新文章

  1. java的虚引用_你不可不知的Java引用类型之——虚引用
  2. 2020-11-22(工作集与常驻集)
  3. 深度学习:在图像上找到手势_使用深度学习的人类情绪和手势检测器:第1部分
  4. java.io.IOException: Broken pipe 的异常处理
  5. vim编辑器的使用--转自MJ学长
  6. writer在java中的意思_Java在FileWriter和BufferedWriter之间的区别
  7. 20151022作业
  8. 【开发者成长】Vue.js 中有哪些性能陷阱
  9. 媒体查询笔记、 @media
  10. 如何在计算机桌面上增添word,怎么在桌面添加Word文档
  11. 华为业务板块_复盘丨华为Mate30发布 电子板块再爆涨停潮
  12. CY7C68013 USB接口相机开发记录 - 第一天:资料下载
  13. Windows 平台sqlalchemy 连接oracle数据库
  14. 解决只能滑动弹框内容不能滑动弹框底层内容
  15. php func_get_args(),PHP中func_get_args(),func_get_arg(),func_num_args()有什么不同
  16. Python美女图片爬虫实战
  17. 使用 Java 进行 HL7 编程
  18. Clickhouse除数为0
  19. JAVA就业培训班一周有感杂记
  20. tp框架该网页无法正常运作的一个坑

热门文章

  1. 计算机出现家庭组图标怎么删除,Win7系统如何删除资源管理器左侧导航栏“家庭组”图标...
  2. LaTeX中和Word中打公式的区别,求和符号
  3. 日常笔记》》》字符串分割、截取等操作
  4. u盘乱码怎么恢复正常?分享图文教学
  5. 记一次自建CDN非法请求的处理过程。
  6. 有道云笔记and印象笔记
  7. HTML5新增标签及用法总结
  8. python从入门到实践05习题:5-1~5-11
  9. MyBatis如何实现多表联查
  10. tcp linux 报文内容,【Linux】TCP报文中的PSH和URG字段的介绍