如何保存配方';s在使用C#删除和替换工作表时对工作表的引用

本文关键字:工作 删除 替换 引用 保存 何保存 | 更新日期: 2023-09-27 18:29:05

如何在替换工作表后保持公式工作?我是说如何保存配方';删除和替换工作表时对工作表的引用?但在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命令"创建表"。所有公式都不起作用

如何保存配方';s在使用C#删除和替换工作表时对工作表的引用

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

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

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

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

只要你的新床单和旧床单同名,你就可以去了。

希望这能有所帮助。

相关文章: