Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Find and replace text in excel with specified font name

Tags:

c#

excel

interop

I'm using Microsoft Excel 12.0 Object Library. My goal is to find text with specified font name and replace with new text.

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

but it does not works.

So how to find string with specified font name and replace with new string?

Thank you!

like image 438
Vano Maisuradze Avatar asked Nov 04 '22 19:11

Vano Maisuradze


1 Answers

Im not that fluent with c# here is the vb.net code:

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

I ran a convertor which spat out 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);

}
}
like image 193
Reafidy Avatar answered Nov 09 '22 09:11

Reafidy