gpt4 book ai didi

c# - 基于模板打开 Excel 副本

转载 作者:行者123 更新时间:2023-12-02 14:45:22 25 4
gpt4 key购买 nike

我有一个用 C# 编写的 WinForms 应用程序,在将数据从 SQL 数据库导出到模板的工作表之前,它使用以下代码打开 Excel 模板。

Microsoft.Office.Interop.Excel.Application oXL = new Microsoft.Office.Interop.Excel.Application();
oXL.Visible = true;
oXL.DisplayAlerts = false;
Microsoft.Office.Interop.Excel.Workbook mWorkBook = oXL.Workbooks.Open(path, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
Excel.Worksheet mWorkSheet = mWorkBook.Worksheets["Invoice"];

但是,此代码实际上打开了模板本身,因此从 SQL 导出到工作簿中的任何数据都会保存到模板中。我想要的是以编程方式打开模板的副本,就像直接在 Windows 资源管理器中双击模板一样,系统会自动创建副本,而无需触及原始模板。

如何以编程方式执行此操作?

最佳答案

您实际上可以使用 Excel Application 对象的 Workbooks.Add 函数,并将模板路径作为参数传递。您以后以编程方式进行的任何更改都将针对内存中尚未保存的副本进行。

我发现,当您想要准备/预格式化新的 Excel 工作簿以供用户稍后交互时,这非常有用。

string templatePath = "c:\\temp\\template.xlsx";
Workbook wb = oXL.Workbooks.Add(templatePath);
//wb will be a memory copy of template.xlsx

关于c# - 基于模板打开 Excel 副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20747025/

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