c# - 使用 C# 在 Excel 中查找和替换文本

标签 c# excel

我想使用 C# 在 Excel 中查找和替换一组文本,而且我希望此替换仅发生在第一行中的文本。

我使用 Google 并找到了一些付费资源,如 Aspose API、Spire.Xls 等,但我正在寻找开源资源或任何其他有效的方法来实现这一点。请提出建议。

最佳答案

试试这个:

Public static void ReplaceTextInExcelFile(string filename, string replace, string replacement)
{
    object m = Type.Missing;

    // open excel.
    Application app = new ApplicationClass();

    // open the workbook. 
    Workbook wb = app.Workbooks.Open(
        filename,
        m, false, m, m, m, m, m, m, m, m, m, m, m, m);

    // get the active worksheet. (Replace this if you need to.) 
    Worksheet ws = (Worksheet)wb.ActiveSheet;

    // get the used range. 
    Range r = (Range)ws.UsedRange;

    // call the replace method to replace instances. 
    bool success = (bool)r.Replace(
        replace,
        replacement,
        XlLookAt.xlWhole,
        XlSearchOrder.xlByRows,
        true, m, m, m);

    // save and close. 
    wb.Save();
    app.Quit();
    app = null;
}

关于c# - 使用 C# 在 Excel 中查找和替换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40484841/

相关文章:

C# 无法绑定(bind)到数据源上的属性或列

c# - List(T).ForEach 未使用 Xamarin 定义

excel - 合并数据透视表中的两列

excel - 通过匹配范围中的字符串来过滤数据

c# - 使用 Html Agility Pack,在循环中选择当前元素 (XPATH)

c# - Linq 查询后从 Xdocument 获取文件名

vba - 应用公式,然后自动填充数据,直到列中的最后一个可见单元格 : VBA

vba - 复制/粘贴 VBA 时出现错误代码 1004 无法解决

VBA使用VBScript将行范围复制到另一个工作簿

c# - 连续流媒体网站上的 .NET HTTP 请求超时不是 "Aborting"