我有一个要求,需要根据多个规则擦洗Excel文档;其中之一是在给定列中编程删除所有具有红色文本和罢工字体样式的单元格。使用Microsoft.office.interop.excel库中的C#访问excel文档后,是否有一种方法可以检测单元的文本是什么颜色,并且应用了字体样式,如果单元格的文本为红色,则使用StrikeThrough样式删除单元格?<<<<<<<<
public static void GetExcelFile() {
//Establish COM Objects
Excel.Application excelApp = new Excel.Application();
Excel.Workbook excelWorkBook = excelApp.Workbooks.Open(@"MyExcelBook.xlsx");
Excel._Worksheet excelWorkSheet = excelWorkBook.Sheet[1];
Excel.Range excelRange = excelWorkSheet.UsedRange;
//Retrieve Column E
object[] columnE = excelWorkSheet.Range["E"].Values2;
//Scrub Column E
//Remove expired codes (signified by red font and strikethrough)
//Remove Whitespace
string trColumnE = columnE.ToString();
string[] strColumnE = trColumnE.Replace(" ", "").Split(',');
在检索之前,您可以按照下面的方式检查:
if (excelWorkSheet.Range["E"].Font.Strikethrough == true && excelWorkSheet.Range["E"].Interior.Color = 255)
excelWorkSheet.Range["E"].Value == "";