【问题标题】:Microsoft.Office.Interop.Excel reading false color?Microsoft.Office.Interop.Excel 读取错误颜色?
【发布时间】:2019-12-13 21:49:06
【问题描述】:
tmp.Color = xlRange.Cells[i, j].Interior.Color.ToString();

我像这样阅读了一个 excel 文档的 Cellcolor,但我得到的颜色不是我期望的: 例如海蓝宝石的 16777215,但它不是海蓝宝石的价值,而是黄色的价值。我是不是读错了单元格颜色?

【问题讨论】:

  • 尝试用 System.Drawing.ColorTranslator.FromOle(xlRange.Cells[i, j].Interior.Color);这将返回一个颜色值,这是否返回正确的值?
  • 它会抛出一个包含无效参数的错误
  • 属性Colordouble(动态)的形式返回值。您需要先将其转换为int,然后再传递给ColorTranslator.FromOle
  • 完美,谢谢!

标签: c# excel office-interop


【解决方案1】:

我刚刚为你找到了解决方案,希望这对你有用。

int colorNumber = System.Convert.ToInt32(((Range) worksheet.Cells[rowNumber,columnNumber]).Interior.Color);
Color color = System.Drawing.ColorTranslator.FromOle(colorNumber);

参考链接:https://stackoverflow.com/a/1867695/6923146

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 2017-02-15
    相关资源
    最近更新 更多