Excelreplace所有find的字符
我一直在尝试使用winform应用程序replaceExcel工作表中的所有“#”…
我尝试了这样的事情
Excel.WorksheetClass excelWorksheet = (Excel.WorksheetClass)application.Worksheets[1]; excelWorksheet.Cells.Replace(@"\", "", Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns, false, Type.Missing, false, false);
但它只是取代单元格中单独的那些“#”,如果单元格值是“#ABC”,那么它不会取代,Excel中的高级选项允许这样做,但我怎样才能使用Iterop类。
问候
第三个参数XlLookAt
是问题所在。 您需要使用xlPart
进行只匹配部分单元格的search。
darsahan。
这是我使用的代码。
class ExcelOpener { public static void OpenTxtInExcel(string name, string filename) { Excel.Application application = new Excel.Application(); object missing = System.Reflection.Missing.Value; application.Visible = true; application.Workbooks.OpenText ( filename, missing, 1, Excel.XlTextParsingType.xlDelimited, Excel.XlTextQualifier.xlTextQualifierNone, missing, missing, missing, missing, missing, true, //True, using a custom delimiter @"#", //This is the custom delimiter missing, missing, missing, missing, missing, missing ); Excel.Worksheet excelWorksheet = (Excel.Worksheet)application.Worksheets[1]; excelWorksheet.Cells.Replace(@"\", "", Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByColumns, false, Type.Missing, false, false); } }
问候