gpt4 book ai didi

c# - 如何将 Excel 工作表从一个工作簿复制到另一个工作簿

转载 作者:行者123 更新时间:2023-11-30 22:21:45 32 4
gpt4 key购买 nike

我一直在网上搜索这个问题的答案。有几十个“解决方案”,但似乎没有一个是正确的。我正在构建的应用程序(使用 C#)从 mdb querydef 中提取数据并创建一个包含两个工作表的 Excel 工作簿。那部分工作得很好。现在对于应该简单的部分:我有一个包含多个工作表的工作簿(每个工作表将以不同的方式计算数据)我需要代码来打开"template"工作簿,复制正确的工作表,并将副本放入新创建的工作簿与其他两个工作表。这是我认为“应该”有效的代码示例:

            _Application xlApp;
Workbook xlTemplateWB;
Workbook xlTempWB;
object missing = System.Reflection.Missing.Value;

xlApp = new ApplicationClass();
xlApp.Visible = true;

//Open Bench Sheet Template
xlTemplateWB = xlApp.Workbooks.Open(Elmnt.getDBPath() + TEMPLATENAME, 0, true, 5, "", "",
false, XlPlatform.xlWindows, "", true, false, 0, true, false, false);

//Open temporary workbook
xlTempWB = xlApp.Workbooks.Open(XLTempDir + XLTempName, 0, false, 5, true, "", true,
XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);

//Copy "BOD" Worksheet
xlTempWB.Worksheets.Copy(xlTemplateWB.Worksheets["BOD"]);
xlTempWB.Save();

//Close Workbooks
xlTempWB.Close(true, missing, missing);
xlTemplateWB.Close(true, missing, missing);
xlApp.Quit();

//Release Objects
releaseObject(xlTempWB);
releaseObject(xlTemplateWB);
releaseObject(xlApp);

最佳答案

根据我对 MSDN 文档的阅读,Worksheet.Copy() 只能在工作簿中使用。您的 C# 语法看起来正确。

有几种方法可以解决这个问题:

  1. 复制整个模板工作簿(使用 WorkBook.SaveCopyAs())并删除不需要的内容。
  2. 选择您要移动的范围并使用剪贴板 (Range.Select; Range.Copy; Range.Paste;) 复制它。

希望这对您有所帮助。

关于c# - 如何将 Excel 工作表从一个工作簿复制到另一个工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14125567/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com