Excel Interop:改变大量单元格中文本部分颜色的最快方法

CGo*_*odo 4 c# excel interop

有些文章介绍了使用Excel互操作直接将数据数组分配给范围值的最快方式.喜欢:

string[,] multidimensionalArrayData = new string[200, 3];
    // (...) Fill multidimensionalArrayData with your data
dataSheet.Range["A1:C200"].Value = multidimensionalArrayData;
Run Code Online (Sandbox Code Playgroud)

还有一些关于如何更改文本特定部分的字体颜色的文章,例如(这次是VB):

With ActiveCell.Characters(Start:=3, Length:=3).Font
    .Name = "Arial"
    .FontStyle = "Regular"
    .Size = 10
    .Color = "Red"
    .ThemeFont = xlThemeFontNone
End With
Run Code Online (Sandbox Code Playgroud)

现在的问题是,改变数千个单元格的特定文本部分颜色的最快方法是什么?目前,在我的C#代码中,我必须逐个单元地进行,性能受到惊吓.有没有办法在C#中填充'Characters'对象数组并将该数组一次性传递给一个范围?还有其他方法吗?

mjb*_*mjb 5

使用Excel Interop的操作总是更慢,更多的内存消耗,不推荐.

下面是一些开源,但更快的方式来做你需要的,而不需要安装Excel:

http://closedxml.codeplex.com/
http://epplus.codeplex.com/
http://code.google.com/p/excellibrary/
http://npoi.codeplex.com

Microsoft发布:打开XML 2.0
另一种更快的方式来做你想要的.
下载地址:http ://www.microsoft.com/en-us/download/details.aspx?id
= 5124简介:http://blog.stuartwhiteford.com/?p = 49