我有一个需求,需要根据多个规则擦洗一个excel文档;其中之一是以编程方式删除给定列中所有带有红色文本和删除线字体样式的单元格。使用 Microsoft.Office.Interop.Excel 库在 C# 中访问 excel 文档后,有没有办法检测单元格文本的颜色和应用的字体样式,如果文本为红色且带有删除线样式,则删除该单元格?
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 == "";
关于c# - 您能否以编程方式检测 Excel 文档中的文本颜色并仅修改具有特定颜色和字体样式的文本的单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40898518/