我要寻找一个图书馆,让我看在C#中的Excel文档,但我需要能够读取单元格格式 ,以及在电子表格中的数据。 我发现这个有用的问题 ,列出了很多不同的替代品,用于读取Excel文件,但读了很多这里提供只允许电子表格的内容的解决方案,而不是单元格属性(如字体,背景颜色等)。 对于我的具体问题,不过,我需要读取包含大量的单元格的格式的文件,我需要能够读取该格式信息。
那我需要在读取Excel文件是一个XLS文件,所以我不需要在这个阶段阅读XLSX。 我在寻找一个可以在服务器上,而不安装Excel使用的库,所以它必须是一个独立的解决方案,最好的开源。
有没有人有从XLS文档读取单元格格式的信息体验,并可以建议一个库,这将有助于完成这个任务?
更新:
我期待在使用ClosedXml因为从我读到它,它似乎提供了我需要的功能。 我从这个示例代码的工作:
http://closedxml.codeplex.com/wikipage?title=Finding%20and%20extracting%20the%20data&referringTitle=Documentation
并且已经能够读取Excel文件的内容没有问题。 我从这个代码中使用仅仅类别的例子,但已格式化的两个类别名称细胞有背景颜色。 现在,我试图用ClosedXml做的是确定:
如果填充背景色已经在特定的细胞定义
如果它被定义,检索填充 (十六进制值会做)的颜色
这里是我曾尝试使用一些代码:
// Get all categories
while (!categoryRow.Cell(coCategoryId).IsEmpty())
{
IXLCell categoryName = categoryRow.Cell(coCategoryName);
try
{
categories.Add(categoryName.GetString() + " " + categoryName.Style.Fill.BackgroundColor.Color.ToHex());
}
catch
{
categories.Add(categoryName.GetString() + " None");
}
categoryRow = categoryRow.RowBelow();
}
但代码
categoryName.Style.Fill.BackgroundColor.Color.ToHex()
总是抛出厚望“给定的关键是不存在的字典。” ,即使对于做细胞有背景颜色定义。 任何人有任何想法如何得到这个工作与ClosedXml?