小编bun*_*ggo的帖子

在C#中,如何使用Excel Interop加速写入多个单元格值

我有一块硬件,我得到30个数据点.在工作表可见之前,这些点中的每一个都记录在几个不同位置的电子表格中,然后另一个程序接管excel电子表格.在其他程序接管之前,需要将所有这些值写入电子表格.如果我单独写每个单元,则写入大约需要50ms,这需要大约1.25秒才能完成数据采集.

如果我可以一次性将所有值写入电子表格,我觉得这将显着加快所有这些单元格的写入速度.我看到的问题是Ranges非常适合更新连续的单元格,因为我的数据不是连续的.基本上,这将是我想写的一个例子:
A1 = 1
B23 = a
F8
= 2012/12/25 D53 = 4.1235
B2 = 5

我尝试创建一系列"A1,B23,F8,D53,B2",然后使用值数组设置值.我尝试了3个不同的数组:object [5],object [1,5]和object [5,1].这些都将范围内指定单元格的值设置为我在所有情况下创建的数组的第一个索引.

有没有办法更新这30个单元格数据而无需一次迭代一个单元格?

谢谢,汤姆

c# excel range sparse-matrix

8
推荐指数
1
解决办法
899
查看次数

流畅的NHibernate映射可以为空的枚举

我需要在我的班级中映射一个可以为空的枚举,但我得到例外.

NHibernate.PropertyAccessException:无效的Cast(检查映射是否存在属性类型不匹配); App.Model.Stock的setter ---> System.InvalidCastException:指定的强制转换无效.

我已将问题缩小到一个特定的属性,我在下面描述.

这是以前回答这里,但解决的链接不再存在的页面.

这是我的代码,我已经减少了只包含我关注的部分.

public enum eColor
{
    Red,
    Blue
}

public class Stock 
{
    public virtual eColor? Color { get; protected set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的映射(剥离):

public class StockMap : ClassMap<Stock>
{
    Map(x => x.Color).CustomType<int>();
}
Run Code Online (Sandbox Code Playgroud)

我尝试了以下所有相同的结果:

Map(x => x.Color).CustomType<int>();
Map(x => x.Color).CustomType<int?>();
Map(x => x.Color).CustomType<int>().Nullable();
Map(x => x.Color).CustomType<int?>().Nullable();
Run Code Online (Sandbox Code Playgroud)

这很久以前似乎是一个bug,并且有一个解决方法.我使用的是Fluent 1.3.0.0和NHibernate 3.3.1.4000.

mapping nhibernate enums nullable fluent

6
推荐指数
1
解决办法
2342
查看次数

标签 统计

c# ×1

enums ×1

excel ×1

fluent ×1

mapping ×1

nhibernate ×1

nullable ×1

range ×1

sparse-matrix ×1