Excel从另一个Excel文件中用户自定义区域(UsedRange)拷贝数据和行高、列宽
实现环境: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)拷贝数据和行高、列宽相关推荐
- speedoffice(Excel)表格中怎么自动调整行高列宽?
在excel中录入数据时因为默认的单元格行高和列宽都很小,往往会出现输入的多行文字显示到其他单元格位置,下面了解Excel表格中自动调整行高列宽的方法. 打开excel之后选中单元格输入文字,可以看到 ...
- Java POI的Excel操作(行高列宽比例;生成说明,标题,字段;导出Excel代码,压缩)
摘要 本文主要讲解了POI中的表格行高列宽比例,以及根据这个不同的场景生成,如标题,说明,字段头.主要是思路给大家参考,生成表格如下(完整代码代码在最后,由于我的数据格式特殊,我把我以前的通用导出数据 ...
- Excel如何将行高列宽等格式设置一并全复制?
今天要和大家分享的是,Excel如何将行高列宽等格式设置一并全复制?复制粘贴在简单不过的操作,但是往往粘贴过去的时候,尤其是行高和列宽并没有保留原来的设置,使得数据格式走样-- (方方格子插件) 1. ...
- C# Excel 行高,列宽,合并单元格,单元格边框线,冻结
C# Excel 行高,列宽,合并单元格,单元格边框线,冻结 原文:http://hi.baidu.com/kjkj911/blog/item/0ecc3ec7855dd6d4d100600f.htm ...
- excel表格怎么调整行高和列宽_Excel 表格技巧—一键调整行高列宽的方法
在Excel表格中有成千上万行和列需要调整到适合的单元格,需要怎么操作呢?今天我们来学习一下. 1.首先选择我们需要处理的单元格,选择[开始]-[行和列]-[最适合的行高].如下图所示: 2.自动调节 ...
- excel表格行宽列高怎么设置_excel的行高列宽怎么设置_excel的行高和列宽在哪设置...
在使用excel时,行高和列宽一定程度上影响着整个表格的美观程度,下面为你分享了几个关于行高列宽的超实用的小技巧,感兴趣的小伙伴快来看看吧! 1.行高的单位像素怎么更改为厘米? 在设置表格时,要求设置 ...
- python复制excel的sheet表不改变表格式及行高列宽(调用win32com库)
python使用win32com库复制excel的sheet到sheet末尾,并对表进行重命名,不改变原有格式及行高列宽. import win32com.client as win32 import ...
- T88 excel 行高列宽单位
如何以厘米为单位精确设置Excel表格的行高列宽? http://www.360doc.com/content/20/0302/06/55021079_896078049.shtml
- excel表格怎么调整行高和列宽_wps表格课程08|调整行高列宽
本课程由菜鸟在线教育独家出品,未经授权严禁用于商业用途,侵权必究 客服微信:13264012523 调整行高列宽是表格内容布局的必备技能. 方法/步骤 ■ 调整行高/列宽的最基础办法是:将鼠标定位到行 ...
最新文章
- java的虚引用_你不可不知的Java引用类型之——虚引用
- 2020-11-22(工作集与常驻集)
- 深度学习:在图像上找到手势_使用深度学习的人类情绪和手势检测器:第1部分
- java.io.IOException: Broken pipe 的异常处理
- vim编辑器的使用--转自MJ学长
- writer在java中的意思_Java在FileWriter和BufferedWriter之间的区别
- 20151022作业
- 【开发者成长】Vue.js 中有哪些性能陷阱
- 媒体查询笔记、 @media
- 如何在计算机桌面上增添word,怎么在桌面添加Word文档
- 华为业务板块_复盘丨华为Mate30发布 电子板块再爆涨停潮
- CY7C68013 USB接口相机开发记录 - 第一天:资料下载
- Windows 平台sqlalchemy 连接oracle数据库
- 解决只能滑动弹框内容不能滑动弹框底层内容
- php func_get_args(),PHP中func_get_args(),func_get_arg(),func_num_args()有什么不同
- Python美女图片爬虫实战
- 使用 Java 进行 HL7 编程
- Clickhouse除数为0
- JAVA就业培训班一周有感杂记
- tp框架该网页无法正常运作的一个坑