如何在更换纸张后保持配方正常工作? 我的意思是 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”。所有公式都不起作用
答案 0 :(得分:1)
您需要做的是,在包含公式的工作表中,首先将它们从公式转换(当您删除公式引用的工作表时,这将阻止Excel在公式中创建错误)。
因此,例如,执行查找/替换并将“=”替换为“#”(或者您确定在该表中未使用的任何其他字符或字符集)。 Thsi将停止公式创建错误引用。
然后删除工作表,添加新工作表
然后将公式表中的值重新替换为“#”到“=”。
只要您的新工作表与旧工作表的名称相同,您就应该好了。
希望这有帮助。