2013-01-03 107 views
0

在Excel文件中,我该如何去检索单元格的填充模式?根据单元格是否具有填充模式,我想填充数据。以下是我到目前为止所尝试的内容,但无论单元格看起来如何,总是会返回“xlPatternNone”。谢谢。如何使用c#获取Excel单元格填充模式?

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#,微软互操作库

回答

0

这绝对作品:

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

我会因此建议你忽略单元上的Style财产,只是访问细胞的Interior直接。如果这不起作用,我会建议确保column + row.ToString()肯定指向正确的单元格。

+0

工作很好,感谢您的帮助。任何想法为什么样式属性/对象不起作用? – sammy

+0

不用担心。这是因为您可以应用包含大量格式规则(通过“单元格样式”)的“样式”,这与直接应用于单元格的模式截然不同。 –

+0

@SimonMcKenzie:嗨,我在使用OpenXml时遇到了同样的问题......我的问题是:如果我的单元格样式应用于我的Excel中,那么我无法将数据添加到单元格中.. – Kulkarni

相关问题