本文介绍了当前上下文中不存在OpenXML-SpreadsheetReader的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我尝试复制此答案Getting cell-backgroundcolor in Excel with Open XML 2.0
但VS抱怨当前上下文中不存在SpreadsheetReader
。我无法ctrl+.
解决此问题。
以下是(几乎正常工作的)代码:
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
using DocumentFormat.OpenXml;
public static DocumentFormat.OpenXml.Drawing.PatternFill GetCellPatternFill(Cell theCell, SpreadsheetDocument document)
{
WorkbookStylesPart styles = SpreadsheetReader.GetWorkbookStyles(document);
int cellStyleIndex;
if (theCell.StyleIndex == null) // I think (from testing) if the StyleIndex is null
{ // then this means use cell style index 0.
cellStyleIndex = 0; // However I did not found it in the open xml
} // specification.
else
{
cellStyleIndex = (int)theCell.StyleIndex.Value;
}
CellFormat cellFormat = (CellFormat)styles.Stylesheet.CellFormats.ChildElements[cellStyleIndex];
DocumentFormat.OpenXml.Drawing.Fill fill = (DocumentFormat.OpenXml.Drawing.Fill)styles.Stylesheet.Fills.ChildElements[(int)cellFormat.FillId.Value];
return fill.PatternFill;
}
推荐答案
我使用DocumentFormat.OpenXml.Exages解决了这个问题。此扩展可从https://simpleooxml.codeplex.com/releases/view/48673
下载干杯Karel Groos
这篇关于当前上下文中不存在OpenXML-SpreadsheetReader的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!