gpt4 book ai didi

c# - 当使用 C# 删除和替换工作表时,如何保留公式对工作表的引用?

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:48 26 4
gpt4 key购买 nike

如何在更换工作表后让公式继续工作?我是说 How to preserve a formula's reference to a worksheet when the worksheet is deleted and replaced?但在 C# 中

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application excelApp = new Excel.ApplicationClass();
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(connection.DataSource, 0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
foreach (Excel.Worksheet sh in excelWorkbook.Sheets)
{
if (sh.Name == SheetName || sh.Name == "_"+SheetName)
{
sh.Application.DisplayAlerts = false;
sh.Delete();
}
}
excelWorkbook.Save();
excelWorkbook.Close(true, excelWorkbook.FullName, null);
excelApp.Quit();

稍后我将调用具有相同名称的 SQL 命令“Create Table”。所有公式都不起作用

最佳答案

您需要做的是,在包含公式的工作表中,首先将它们从公式中转换出来(这将阻止 Excel 在您删除这些公式引用的工作表时在公式中产生错误)。

因此,例如,执行查找/替换并将“=”替换为“#”(或您确定不会在该工作表中使用的任何其他字符或字符集)。这将阻止公式创建错误的引用。

然后删除工作表,在新工作表中添加

然后将公式表中的值从“#”重新替换为“=”。

只要您的新工作表与旧工作表同名,您就可以开始了。

希望这对您有所帮助。

关于c# - 当使用 C# 删除和替换工作表时,如何保留公式对工作表的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18443633/

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