2016-02-05 20 views
0

我想写一个C〜控制台应用程序,它将从Excel表格中读取数据。我已经看到了一些教程,告诉我们如何从excel表格中读取数据,但是我找不到的是如何读取样式,如果有的话应用于文本。从excel中读取数据,包括应用于它的样式

enter image description here

如果您看到excel图像,它的词语绿色是绿色,而黄色是粗体。我希望C#应该能够选择样式,所以我可以将其转换为HTML样式。

我愿意向任何第三方库以及

回答

0

如果你想要得到的风格细胞的部分,而不是整个小区中的例子,你可以使用Excel.Range.Characters索引获得Characters对象。该对象有一个属性Font,您可以通过它访问实际的样式信息。这可能是这个样子:

var xlApp = new Application(); 
var workbook = xlApp.Workbooks.Open("c:\\temp\\exceltest.xlsx"); 

Worksheet sheet = workbook.Sheets[1]; 
Range cell = sheet.Cells[1, 1]; // get first cell as an example 

int textLength = range.Text.ToString().Length; 
for (int charCount = 1; charCount <= textLength; charCount++) 
{ 
    Characters character = cell.Characters[charCount, 1]; 
    bool bold = (bool)character.Font.Bold; 
    bool italic = (bool)character.Font.Italic; 
    Color fontColor = System.Drawing.ColorTranslator.FromOle((int)character.Font.Color); 
} 

请注意,您必须添加到Microsoft.Office.Interop.Excel一个参考,你需要安装的Excel。

0

使用EPPlus

string filePath = "..."; 
var file = new System.IO.FileInfo(filePath); 
using (ExcelPackage p = new ExcelPackage(file)) { 
    var ws = p.Workbook.Worksheets[1]; 
    var style = ws.Cells[1, 1].Style; 
} 

检查EPPlus项目网站的代码示例。他们很好地说明了图书馆的用法。