使用指定的字体名称查找和替换excel中的文本

时间:2011-06-22 13:22:31

标签: c# excel interop

我正在使用Microsoft Excel 12.0对象库。我的目标是找到具有指定字体名称的文本并替换为新文本。

 Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
 xlApp.FindFormat.Font.Name = "Arial";
 workSheet.Cells.Replace('a', 'b', Type.Missing, Type.Missing, Type.Missing, Type.Missing, xlApp.FindFormat, Type.Missing);

但它不起作用。

那么如何找到具有指定字体名称的字符串并替换为新字符串?

谢谢!

1 个答案:

答案 0 :(得分:2)

我不熟悉c#这里是vb.net代码:

Imports Microsoft.Office.Interop.Excel
Public Class Class1
Sub TEST()

    Dim xlapp As New Microsoft.Office.Interop.Excel.Application

    xlapp.FindFormat.Font.Name = "Arial"

    Dim wb As Microsoft.Office.Interop.Excel.Workbook

    wb = xlapp.Workbooks.Open("C:\test.xlsx")

    wb.Worksheets("Sheet1").Cells.Replace(What:="*", Replacement:="eee", LookAt:=XlLookAt.xlWhole, _
    SearchOrder:=XlSearchOrder.xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False)

End Sub
End Class

我跑了一个转换器,吐出C#:

using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using Microsoft.Office.Interop.Excel;
public class Class1
{

public void TEST()
{
    Microsoft.Office.Interop.Excel.Application xlapp = new Microsoft.Office.Interop.Excel.Application();

    xlapp.FindFormat.Font.Name = "Arial";

    Microsoft.Office.Interop.Excel.Workbook wb = default(Microsoft.Office.Interop.Excel.Workbook);

    wb = xlapp.Workbooks.Open("C:\\test.xlsx");

    wb.Worksheets("Sheet1").Cells.Replace(What: "*", Replacement: "eee", LookAt: XlLookAt.xlWhole, SearchOrder: XlSearchOrder.xlByRows, MatchCase: false, SearchFormat: true, ReplaceFormat: false);

}
}