首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C# Excel:复制的工作表比原始工作表大50倍

这个问题涉及到C#语言中使用Excel进行工作表复制的操作。在C#中,可以使用Microsoft.Office.Interop.Excel库来操作Excel文件。

首先,我们需要引用Microsoft.Office.Interop.Excel库。在Visual Studio中,可以通过右键点击项目,选择“添加”->“引用”,然后在“COM”选项卡中找到“Microsoft Excel XX.X Object Library”并添加。

接下来,我们可以使用以下代码来实现工作表的复制:

代码语言:txt
复制
using Excel = Microsoft.Office.Interop.Excel;

// 创建Excel应用程序对象
Excel.Application excelApp = new Excel.Application();

// 打开原始工作簿
Excel.Workbook originalWorkbook = excelApp.Workbooks.Open("原始工作簿路径");

// 获取原始工作表
Excel.Worksheet originalWorksheet = originalWorkbook.Worksheets["原始工作表名称"];

// 复制原始工作表
Excel.Worksheet copiedWorksheet = originalWorksheet.Copy(Type.Missing, originalWorksheet);

// 调整复制后的工作表大小
copiedWorksheet.Cells.Copy(Type.Missing);
copiedWorksheet.Cells.PasteSpecial(Excel.XlPasteType.xlPasteAll, Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, Type.Missing, Type.Missing);
copiedWorksheet.Cells.Select();
copiedWorksheet.Cells.EntireColumn.AutoFit();

// 保存复制后的工作簿
copiedWorksheet.SaveAs("复制后的工作簿路径");

// 关闭工作簿和Excel应用程序
originalWorkbook.Close();
excelApp.Quit();

上述代码中,我们首先创建了一个Excel应用程序对象,然后打开原始工作簿并获取原始工作表。接着,我们使用Copy方法复制原始工作表,并调整复制后的工作表的大小以适应数据。最后,我们保存复制后的工作簿,并关闭工作簿和Excel应用程序。

这样,我们就完成了将原始工作表复制并调整大小的操作。

对于这个问题,C#语言中的Excel操作可以使用NPOI库或EPPlus库来实现。这两个库都是开源的,可以在GitHub上找到相关的文档和示例代码。

推荐的腾讯云相关产品:腾讯云对象存储(COS),它是一种高可用、高可靠、低成本的云端存储服务,适用于存储和处理大规模非结构化数据。

腾讯云产品介绍链接地址:https://cloud.tencent.com/product/cos

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python-Excel-08-复制工作

操作 今天讲讲使用win32com模块,复制工作 这种在做大量重复工作时候,先制定一个模板,后续直接复制,再做个性化修改即可 Part 1:示例说明 ?...已有一个Excel文件复制工作.xlsx,其中一个工作名称为示例 复制示例工作,新工作名称为新复制 在新复制工作B1单元格写入复制 ? 复制后 ? Part 2:代码 ?...excel_address = os.path.join(current_address, "复制工作.xlsx") xl_app = win32com.client.gencache.EnsureDispatch...(excel_address) sht = wb.Worksheets("示例") # 复制工作 new_sht_name = "新复制" sht.Copy(After=sht) wb.ActiveSheet.Name...sht.Copy(After=sht),复制一张新,并将其位置放在sht后 wb.ActiveSheet.Name = new_sht_name,修改新建工作名称 sht_copy = wb.Worksheets

94510

Excel-VBA复制工作到新工作簿方法

工作中我们常常会在一个工作簿一个工作中输入数据,再另存为一个新工作簿。 如:在文件“自动工具.xlsx”中有一个工作为“模板”。...我想在“模板”工作中输入数据,再另存为一个新文件为“小龙女.xlsx” 【知识点】 下面是本个收藏代码,三种方法,以备用 【代码】 '方法一:复制工作另存为新工作簿 Sub copySaveAs...ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\小龙女.xlsx" ActiveWorkbook.Close SaveChanges:=True End Sub '方法二:复制工作为新工作...,写入数据,再移动工作另存为新工作簿 Sub MoveSaveAs() wsh_num = Worksheets.Count Worksheets("模板").Copy After:...,再复制工作到新工作簿中 Sub AddCopySaveAs() Path = ThisWorkbook.Path & "\" Set newwb = Workbooks.Add

10.8K40
  • Excel: 受保护工作使用筛选功能

    文章背景:工作生活中,有时很多人都会用到同一份模板文件。为了防止文件内公式被修改,以及单元格误删除,往往都会给文件设置保护。受保护同时,希望可以正常使用筛选等功能。...(1)关于查找 设置保护后,如果要正常使用查找功能,需要确保查找范围内单元格没有勾选隐藏。 (2)关于筛选 设置保护后,如果要正常使用筛选功能,需要提前启用筛选模式。...选中标题行,然后选中菜单栏中筛选功能。最后再对表格进行保护设置,设置时勾选自动筛选这个选项。...dis_t=1663654969&vid=wxv_1829891023594913798&format_id=10002&support_redirect=0&mmversion=false 注意:在受保护状态下...参考资料: [1] 如何让受保护工作进行查找、筛选和排序操作(http://club.excelhome.net/thread-1029711-1-1.html)

    3.5K10

    快速汇总多个工作簿工作数据(Excel工具推荐)

    我们需要将这些销售数据汇总做个统计,查看总体一季度销售情况,或者各个国家一季度情况,再或者各个品牌情况。这时候手头只有Excel,没有其他软件。...最笨办法是挨个打开这些工作簿,手动将数据源串联起来,然后做数据透视。可是 1.有时候数据源过大,超出单个Excel文件承载范围,你无法串联。...3.可以看到有“插入工作簿名”,“插入工作名”按钮,这两个按钮意思是是否需要将工作簿/工作名称作为数据透视字段,此处我们假设想看各月汇总情况,因此需要点击“插入工作簿名”。...我们不需要理解语句内容,只需要点“复制”,然后点“退出”。 三、命令文本粘贴 打开工具中数据透视。...点击更改数据源-链接属性,弹出以下对话框 将刚才复制代码粘贴到“命令文本“中,点“确定“。

    10.8K10

    Excel公式技巧14: 在主工作中汇总多个工作中满足条件

    “三维”是经常应用于Excel中特定公式通用术语,这些公式不仅可以对单列或单行进行操作,也可以对由多列或多行组成单元格区域进行操作,还可以有效地对多个工作进行操作。...本文提供了一种方法,在给定一个或多个相同布局工作情况下,可以创建另一个“主”工作,该工作仅由满足特定条件所有工作数据组成。并且,这里不使用VBA,仅使用公式。...图3 想要创建一个主工作Master,其数据来源于上面三个工作中列D中值为“Y”数据: ?...D2:D10"),"Y")) 然后,将这组代表工作名称文本字符串两端连接,在后面是所使用工作区域(D2:D10),在前面用单个撇号连接。...k值,即在工作Sheet1中匹配第1、第2和第3小行,在工作Sheet2中匹配第1和第2小行,在工作Sheet3中匹配第1小行。

    8.9K21

    Excel应用实践16:搜索工作指定列范围中数据并将其复制到另一个工作

    学习Excel技术,关注微信公众号: excelperfect 这里应用场景如下: “在工作Sheet1中存储着数据,现在想要在该工作第O列至第T列中搜索指定数据,如果发现,则将该数据所在行复制工作...用户在一个对话框中输入要搜索数据值,然后自动将满足前面条件所有行复制工作Sheet2中。” 首先,使用用户窗体设计输入对话框,如下图1所示。 ?...Dim rngFoundCell As Range Dim lngCurRow As Long Application.ScreenUpdating = False '赋值为工作...Sheet1 Set wks = Worksheets("Sheet1") With wks '工作最后一个数据行 lngRow = .Range(...Sheet2 Sheets("Sheet2").Cells.Clear '获取数据单元格所在行并复制工作Sheet2 For Each rngFoundCell

    6K20

    Excel应用实践21:实现工作簿所有工作多值替换

    学习Excel技术,关注微信公众号: excelperfect 有两个工作簿,一个工作簿中存放着要查找并替换成文本,如下图1所示,列A中是要查找文本,将列A中查找到文本替换成列B中相应文本,例如...,将找到Excel”替换成“完美Excel”。...图1 另一个工作簿中是我们要替换其文本工作簿,我们要在该工作簿所有工作中查找上图1列A中值并将找到文本替成列B中文本,如图2所示。 ? 图2 要实现结果如下图3所示。 ?...).CurrentRegion '遍历要替换文本工作簿中所有工作 For Each wks In ReplaceInWB.Worksheets '使用替换文本来替换工作数据...选择工作簿文件后,将根据上图1工作文本自动对该工作簿中文本进行查找和替换操作。 ? 图4 代码图片版如下: ?

    3K10

    Excel工作形状动起来

    标签:VBA 下面是在网上找到一段程序,可以让工作中指定矩形动起来。一个动作是转圈,一个动作是走斜线,如下图1所示。 图1 示例中矩形名称为“Rectangle 1”。...End Sub Sub MoveShape(shp As Shape, ByVal fLeft As Single, ByVal fTop As Single, t As Date) ' 将指定形状从它所在位置移动到它经过间隔...n1 + n2 ' 总步数 Dim fcv As Single ' 滑行速度,像素/步 Dim i As Long Dim v As Single ' 给定步数速度...左侧插值分数分子 Dim fNumTop As Single ' 顶部插值分数分子 Dim fDen As Single ' 插值分数分母 Dim fLeftold As Single ' 原始左侧位置...Dim fTopOld As Single ' 原始顶部位置 fcv = 1 / (n - n1) With shp fLeft = fLeft - .Left fTop =

    13110

    如何插入或 Visio 中粘贴 Excel 工作

    选择所需单元格。 若要选择工作所有单元格,单击 全选 按钮。 在 编辑 菜单中上, 单击 复制 。 启动 Visio,然后打开绘图。 在 编辑 菜单上单击 选择性粘贴 。...在 Visio 绘图中显示一个较大 Excel 工作 loadTOCNode(2, 'summary'); 嵌入一张 Excel 工作包含很多列和行时, 可能无法查看所有列和绘图中嵌入工作行...要显示较大 Excel 工作所有单元格 Visio 绘图中,使用除了绘图中嵌入在工作下面的方法。 首先,将 Excel 工作复制为图片。 然后,粘贴到您 Visio 绘图图片。...按 Ctrl + Shift+Home 若要选择整个区域单元格。 按 Shift,然后单击 编辑 菜单上 复制图片 。 验证在 复制图片 对话框 为上显示屏幕 选择了在 外观 下。...调整工作大小之前您嵌入在工作,Visio 绘图中或复制为图片在工作之前。 然后,粘贴图片以 Visio 绘图。 在调整大小在工作列时, 您会更改工作格式。

    10.2K71

    Excel应用实践18:按照指定工作数据顺序对另一工作数据排序

    学习Excel技术,关注微信公众号: excelperfect 我从数据库中导入数据到工作,本来数据库中数据顺序是排好了,然而导入工作中后数据顺序变乱了。...如果在工作中使用复制粘贴来重新恢复固定顺序,将会花费大量时间,能否使用VBA快速完成排序,详情如下。 下图1中“固定顺序”工作为数据本来应该顺序: ?...图1 图2中“整理前”工作为导入数据后顺序: ? 图2 可以看出,“整理前”工作列顺序被打乱了,我们需要根据“固定顺序”工作中列顺序将“整理前”工作恢复排序。...lngLastVariable As Long Dim lngNewCol As Long Dim i As Long Dim SearchHeader, rng '赋值工作对象...lngLastVariable)) _ .Find(SearchHeader, LookIn:=xlValues, LookAt:=xlWhole) '如果找到则将该列复制

    2.9K20

    Excel技术:如何在一个工作中筛选并获取另一工作数据

    标签:Power Query,Filter函数 问题:需要整理一个有数千条数据列表,Excel可以很方便地搜索并显示需要条目,然而,想把经过提炼结果列表移到一个新电子表格中,不知道有什么好方法?...为简化起见,我们使用少量数据来进行演示,示例数据如下图1所示。 图1 示例数据位于名为“1”中,我们想获取“产地”列为“宜昌”数据。...方法1:使用Power Query 在新工作簿中,单击功能区“数据”选项卡中“获取数据——来自文件——从工作簿”命令,找到“1”所在工作簿,单击“导入”,在弹出导航器中选择工作簿文件中1”...图3 方法2:使用FILTER函数 新建一个工作,在合适位置输入公式: =FILTER(1,1[产地]="宜昌") 结果如下图4所示。...图4 可以看到,虽然FILTER函数很方便地返回了要筛选数据,但没有标题行。下面插入标题行,在最上方插入一行,输入公式: =1[#标题] 结果如下图5所示。

    15.3K40

    可以使用通配符20个Excel工作函数

    Excel提供了近20个支持在参数中使用通配符工作函数,本文将对这些函数进行介绍,更详细信息可以参考Microsoft关于这些函数帮助文档。 下面是在这些函数中可用于筛选字符通配符: ?...下面是支持在参数中使用通配符Excel函数: AVERAGEIF 返回区域内满足一个条件所有单元格平均值(算术平均值)。 AVERAGEIFS 返回满足一组或多组条件所有单元格平均值。...DVARP 通过使用列表或数据库中与指定条件匹配记录字段(列)中数字,计算基于整个总体总体方差。 HLOOKUP 在或值数组顶行中搜索值,然后在或数组中指定行返回同一列中值。...SEARCHB 像SEARCH函数一样工作,但当DBCS语言设置为默认语言时,每个字符计算2个字节。 SUMIF 在由一个条件指定一个或多个行或列中单元格之和。...SUMIFS 在由多个条件指定一个或多个行或列中单元格之和。 VLOOKUP 在最左边列中查找值,然后从指定列中返回同一行中值。

    3.2K20

    dotnet OpenXML 获取 Excel 表格当前激活选择工作

    本文告诉大家如何读取 Excel 里面的信息拿到当前激活选择工作 在开始之前,期望大家了解如何使用 OpenXML 读取 Excel 文件,如果对此还不了解,请看 C# dotnet WPF 使用...OpenXml 解析 Excel 文件 在 OpenXML 里面,可以通过 ActiveTab 属性拿到当前激活工作序号。...先打开咱一个测试使用 Excel 文件,如下面代码,接下来将使用此测试文件作为例子告诉大家如何拿到激活选择工作 FileInfo file = new("Test.xlsx...如果想要拿到选择工作,尽管大部分 Excel 文件,当前激活工作就是被选择工作,不过通过下面代码可以再次判断当前激活工作是否是选择 // 在工作表里面,也有一个属性表示当前是被选择...TabSelected}"); 如果一个 Excel 表格激活是在第二个工作,但是选择是第一个工作,那么表现如下 本文以上测试文件和代码放在github 和 gitee 欢迎访问 可以通过如下方式获取本文源代码

    99910

    【每日一课】第2课:Excel工作薄和工作基础操作

    PPV课大数据 课程名称 Excel 2007/2010表格基础入门和常用函数视频教程(共40课) 第2课:Excel工作薄和工作基础操作 课程目的 能基本掌握excel常用表格设置和常用技巧,...同时掌握日常工作中常用函数,告别菜鸟,巩固基础。...课程详情 本套教程是尚西老师2014年1月份针对07和10版本重新升级录制,属于菜鸟入门级,一共40课,前15课是基础表格操作和技巧,后25课是常用函数精选。...9年从业经历,陆续做过仓储、运输、承运商管理、TMS运输计划、港台出口物流操作与管理,区域物流管理、物流规划。...著有《物流数据分析三部曲》系列之《物流excel宏编程视频教程V2.0》、《物流数据分析实战宝典V2.0》、《尚西excel专业商务图表视频教程V1.0》。 视频内容

    89250

    VBA基础:复制格式、选取单元格及复制工作示例代码

    标签:VBA 将某工作格式转换到另一个工作 示例代码: Sub TransferFormat() '源格式工作 Dim sht1 As Worksheet '要应用格式工作 Dim...sht2 As Worksheet Set sht1 = ThisWorkbook.Worksheets("Sheet1") sht1.Cells.Copy '创建新工作 Set sht2...例如,选择当前工作表单元格D5: ActiveSheet.Cells(5, 4).Select 或者: ActiveSheet.Range("D5”).Select 选择另一个工作单元格E6: Application.Goto...: Sheets("Sheet2").Activate ActiveSheet.Cells(6, 5).Select 选择当前工作单元格区域C2:D10: ActiveSheet.Range(Cells...Range(Cells(2, 3), Cells(10, 4)).Select 选择另一个工作单元格区域D3:E11: Application.Goto ActiveWorkbook.Sheets

    29800

    Excel公式技巧94:在不同工作中查找数据

    很多时候,我们都需要从工作簿中工作中提取数据信息。如果你在给工作命名时遵循一定规则,那么可以将VLOOKUP函数与INDIRECT函数结合使用,以从不同工作中提取数据。...假如有一张包含各种客户销售数据,并且每个月都会收到一张新工作。这里,给工作选择命名规则时要保持一致。...也就是说,将工作按一定规则统一命名。 在汇总表上,我们希望从每个月份工作中查找给客户XYZ销售额。...每个月销售结构是在列A中是客户名称,在列B中是销售额。...当你有多个统一结构数据源工作,并需要从中提取数据时,本文介绍技巧尤其有用。 注:本文整理自vlookupweek.wordpress.com,供有兴趣朋友参考。 undefined

    13K10

    Excel实战技巧77: 实现在当前工作和前一个使用工作之间自由切换

    Windows有一个另人喜爱快捷键Alt+Tab,可以在当前应用程序和前一个使用应用程序之间来回切换。...Excel也有两个快捷键:Ctrl+PageUP和Ctrl+PageDown,可以在工作之间导航,它们是按顺序依次切换工作,这样,如果要从工作Sheet1切换到工作Sheet5,要按快捷键4次。...thespreadsheetguru.com分享了使用代码创建快捷键(Alt+`),可以在当前工作和前一个使用工作之间切换。...Private Sub Workbook_Open() Call TabBack_RunEnd Sub 保存并关闭工作簿,然后重新打开,此时就可以使用快捷键Alt+`在当前工作和前一个工作之间来回切换了...简洁实用代码!

    1.2K10

    Excel小技巧67:列出工作中所有定义名称

    学习Excel技术,关注微信公众号: excelperfect 在Excel中处理和分析数据时,名称是我们经常使用一个功能,很多工作簿中都会或多或少使用一些定义名称。...在研究一个定义了多个名称工作表示例时,虽然可以通过名称管理器来查看工作簿中所有定义名称,但仍然不是很直观。 例如,在名称管理器中显示,下图1所示工作簿中定义了两个名称,。 ?...其实,Excel可以让你将名称及其引用位置快速输入到工作中,让你对工作簿中定义名称一目了然。 单击功能区“公式”选项卡“定义名称”组中“用于公式——粘贴名称”命令,如下图2所示。 ?...图2 此时,Excel会弹出“粘贴名称”对话框,如下图3所示。 ? 图3 单击“粘贴列表”按钮,将以工作当前单元格为左上角单元格粘贴所有名称,包括名称和引用位置,如下图4所示。 ?...欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料。

    1.1K20

    Excel应用实践08:从主表中将满足条件数据分别复制到其他多个工作

    学习Excel技术,关注微信公众号: excelperfect 这是在ozgrid.com论坛中看到一个应用问题,以前也经常遇到类似问题,并且其解决技巧很有效率,因此在这里和大家分享。...如下图1所示工作,在主工作MASTER中存放着从数据库下载全部数据。...现在,要根据列E中数据将前12列数据分别复制到其他工作中,其中,列E中数据开头两位数字是61单元格所在行前12列数据复制工作61中,开头数字是62单元格所在行前12列数据复制工作62中...,同样,开头数字是63复制工作63中,开头数字是64或65复制工作64_65中,开头数字是68复制工作68中。..., 64, "已完成" End Sub 运行代码后,工作61中数据如下图2所示。 ? 图2 代码并不难,很实用!在代码中,我已经给出了一些注释,有助于对代码理解。

    5.1K30
    领券