Tôi có một bảng excel với một số tế bào có một số màu nền. Tôi cần màu này trong mã html và do đó tôi muốn chuyển đổi Excel.Range.Interior.Color sang định dạng RGB hoặc System.Drawing.Color.Làm thế nào để chuyển đổi Excel.Range.Interior.Color thành System.Drawing.Color trong C#?
Sau khi thực hiện điều đó, tôi sẽ sử dụng System.Drawing.ColorTranslator.ToHtml (System.Drawing.Color) để lấy màu được sử dụng trong thẻ html.
Tôi đã thử làm như sau:
Excel.Range r = (Excel.Range)m_objRange[2, 2];
System.ComponentModel.TypeConverter converter = System.ComponentModel.TypeDescriptor.GetConverter(r.Interior.Color);
MessageBox.Show(""+converter.ConvertTo(r.Interior.Color,typeof(System.Drawing.Color)));
Nhưng tôi nhận được một lỗi mà tôi không thể chuyển đổi System.Double để System.Drawing.Color
giá trị màu Excel được lưu trữ trong một giá trị RGB dài. Thứ tự từ trái sang phải màu xanh lam, xanh lục, đỏ. –