我一直在尝试使用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做到这一点类。
此致
答案 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);
}
}
此致