【问题标题】:How to get Excel cell fill pattern using c#?如何使用 C# 获取 Excel 单元格填充模式?
【发布时间】:2013-01-03 03:00:40
【问题描述】:

在 Excel 文件中,如何检索单元格的填充模式?根据单元格是否具有填充模式,我想填充数据。以下是我到目前为止尝试过的内容,但无论单元格是什么样子,总是会返回“xlPatternNone”。谢谢。

Excel.Worksheet workSheet = (Excel.Worksheet)workBook.Sheets[sheetName];
        Excel.Range cell = (Excel.Range)workSheet.Range[column + row.ToString()];
        if ((Excel.XlPattern)((Excel.Style)cell.Style).Interior.Pattern == Excel.XlPattern.xlPatternNone)
            cell.Value = value;

信息:Excel 2007、c#、Microsoft 互操作库

【问题讨论】:

    标签: c# format excel-interop


    【解决方案1】:

    这绝对有效:

    var workSheet = (Worksheet) workBook.Sheets["Sheet1"];
    var cell = workSheet.Range["A1"];
    var style = (XlPattern) cell.Interior.Pattern;
    

    因此,我建议您忽略单元格上的Style 属性,直接访问单元格的Interior。如果这不起作用,我建议确保 column + row.ToString() 肯定指向正确的单元格。

    【讨论】:

    • 工作得很好,感谢您的帮助。任何想法为什么样式属性/对象不起作用?
    • 不用担心。这是因为您可以应用包含许多格式规则的“样式”(通过“单元格样式”),这与直接应用于单元格的模式截然不同。
    • @SimonMcKenzie:嘿,我在使用 OpenXml 时遇到了同样的问题......我的问题是:如果我在我的 excel 中应用了单元格样式,那么我无法添加数据到单元格中..
    • 嗨@sandy,很遗憾我没有使用OpenXml 的经验,但我毫不怀疑,如果您将您的评论作为问题发布,那么有人会给出答案。祝你好运!
    猜你喜欢
    • 2016-10-05
    • 2017-02-12
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多