查找和删除Excel工作表中的一些文本与C#

我想find一些文本例如“乔”,并将其从它在Excel工作表与C#中的位置中删除?

你将需要使用Range.Replace方法,并简单地用一个空stringreplace。

static void ReplaceTextInExcelFile(string filename, string replace, string replacement) { object m = Type.Missing; // open excel. Application app = new ApplicationClass(); // open the workbook. Workbook wb = app.Workbooks.Open( filename, m, false, m, m, m, m, m, m, m, m, m, m, m, m); // get the active worksheet. (Replace this if you need to.) Worksheet ws = (Worksheet)wb.ActiveSheet; // get the used range. Range r = (Range)ws.UsedRange; // call the replace method to replace instances. bool success = (bool)r.Replace( replace, replacement, XlLookAt.xlWhole, XlSearchOrder.xlByRows, true, m, m, m); // save and close. wb.Save(); app.Quit(); app = null; } 

这适用于Excel 2016

  • 在C:上searchMicrosoft.Office.Interop.Excel ,将其复制到C#项目中,并将其作为参考。
  • 程序集版本应该是15.0.0.0

码:

 Excel.DisplayAlerts = false; // Prevent "Nothing found" dialogs. var Excel = (Microsoft.Office.Interop.Excel.Application)ExcelDnaUtil.Application; foreach(Worksheet sheet in Excel.Sheets) { bool success = sheet.Rows.Replace(What: "ABC",Replacement: "DEF"); } Excel.DisplayAlerts = true;