【发布时间】:2009-08-01 16:55:05
【问题描述】:
我想扫描一个 Excel 表,并将任何出现的社会安全号码替换为零...如果可能的话,我想使用 Excel.Interop 来执行此操作,但我现在对任何事情都持开放态度。 ..这是我的一些代码...过去几个月我一直在敲桌子...
// 获取范围并将其转换为字符串变量 Excel.Range _range =(Excel.Range)_excelApp.get_Range("A1:K1",Type.Missing); // 转换我们范围内单元格的值 // 到字符串变量 字符串 myString = _range.Cells.Value2.ToString(); // 匹配任何 SSN,例如1236780909, 123-33-2445 if (Regex.IsMatch(myString, @"\b\d{3}\b\d{2}\b\d{4}")); { _range.Cells.Value2 = 替换 SSN; } // 用新名称保存我们的工作簿并创建备份 _excelWorkbook.SaveAs("Results.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, true, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing,类型。缺失); //关闭工作簿 _excelWorkbook.Close(false, Type.Missing, Type.Missing); // 向应用发送退出信号 _excelApp.Quit(); // 报告成功 MessageBox.Show("文件屏蔽成功。", "屏蔽数据", MessageBoxButtons.OK); //释放内存 //System.Runtime.InteropServices.Marshal.ReleaseComObject(_excelApp); // 将标签改回空白 lblActivity.Text = ""; }【问题讨论】:
标签: c# regex excel interop replace