我有一个迷你程序,用=' C:\开始更改所有excel单元格,但我有一个问题。我使用range.replace来做到这一点,但我的程序工作错误,因为它不会改变所有单元格包含=' C:\,只改变第一个找到它而我不知道出于什么原因。
我的代码是:
foreach (Excel.Worksheet sheet in xlWorkBook.Sheets)
{
string sheetName = sheet.Name;
Console.WriteLine(sheetName);
//seleccion rango activo
range = sheet.UsedRange;
//leer las celdas
int rows = range.Rows.Count;
int cols = range.Columns.Count;
//Excel.Range startCell = sheet.Cells[1, 1];
//Excel.Range endCell = sheet.Cells[rows, cols];
sheet.Range["A1:J1000"].Replace(@"='C:\", @"='T:\");
//range = sheet.UsedRange;
// leer las celdas
//int rows = range.Rows.Count;
//int cols = range.Columns.Count;
//}
// liberar
releaseObject(sheet);
}
答案 0 :(得分:1)
您需要为所选范围内的每个单元格执行另一个foreach
- 循环。
我现在无法对此进行测试,但这应该可行:
object whatToReplace = "what you want to replace";
object replacement = "what you want to replace it with";
foreach(Range cell in range)
{
cell.Replace(whatToReplace, replacement);
}