Excel中错误的字体属性

我正在用Excel中的C#读取几个单元格的属性,并将附加到Word的属性写入文本。 根据它们在Excel中的大小,它们在Word中应该是相同的大小。

然而,这些属性似乎“冻结”。 有没有人有一个线索可能是什么问题?

例; 我有三个单元格A1,A2和A3,字体大小分别为11,8,11。在Word中,三个文本的大小为11(对于Excel中的每个单元格,大小为11):

docRange.Font.Size = (float)ws.Cells[row, column].Style.Font.Size; 

这很奇怪,因为你应该期望大小11,8和11.但是,如果我在Excel中尝试以下操作:

 MsgBox ActiveSheet.Cells(row, column).Style.Font.Size 

它也给每个细胞大小11。 这一定是11,8和11。

(我已经试过计算自动和.calculate(); )。

@Edit 13:13 22-12-2015如果我打开一个全新的Excel文件,在A1和A2上进行testing,给A1大小11和A2大小8.它在MsgBox ActiveSheet.Cells(2, 1).Style.Font.Size上给出11 MsgBox ActiveSheet.Cells(2, 1).Style.Font.SizeMsgBox ActiveWorkbook.Sheets("Blad1").Range("A2:A2").Style.Font.Size

在Excel中,单元格可以包含每个字符的不同字体。 所以你应该从Characters对象中获取Font

 MsgBox ActiveSheet.Cells(row, col).Characters.Font.Size 

这只会在单元格中的所有字符都是相同的字体时才起作用。 如果不是,将会产生一个错误。 为了避免这种情况,你只能得到所有的第一个字符的字体:

 MsgBox ActiveSheet.Cells(3, 4).Characters(1, 1).Font.Size 

或者你必须检查每一个字符。