gpt4 book ai didi

C# Excel 互操作计数和替换

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:15 26 4
gpt4 key购买 nike

我有一些代码可以替换 excel 项目中的文本(在下面发布),这段代码非常有用。但我还希望替换文本实例的数量。有什么办法可以得到吗?

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

最佳答案

你不能直接这样做,但你可以运行 FindFindNext 函数,然后替换在搜索中找到的任何内容。这将打开一个范围来进行计数的替代品。

Range r = (Range)ws.UsedRange;
int count=0;

Range first=r.Find(replace,m,m,XlLookAt.xlWhole,XlSearchOrder.xlByRows,m,m,m,m);
if(first!=null)
{count++;
Range start=first;
do
{
start.Value=replacement;
count++;
start=r.FindNext(m);
}
while(start!=first);

//do whatever with count

关于C# Excel 互操作计数和替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12078696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com