2

更换工作表后如何保持公式有效?我的意思是 如何在删除和替换工作表时保留公式对工作表的引用? 但在 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 命令“创建表”。所有公式都不起作用

4

1 回答 1

1

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

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

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

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

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

希望这可以帮助。

于 2013-08-26T14:37:18.577 回答