Excel替换所有找到的字符

时间:2009-07-21 20:34:45

标签: excel interop

我一直在尝试使用winform应用程序替换Excel工作表中的所有“#”...

我试过这样的事情

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做到这一点类。

此致

2 个答案:

答案 0 :(得分:4)

第三个参数XlLookAt是问题所在。您需要使用xlPart进行搜索,该搜索仅匹配单元格的一部分。

答案 1 :(得分:0)

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); 


    }
}

此致