gpt4 book ai didi

c# - 改进行数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:29:21 26 4
gpt4 key购买 nike

我在 Excel 电子表格中有 N 行(可能不少于 1000 行)。在这张表中,我们的项目有 150 列,如下所示:

enter image description here

现在,我们的应用程序需要从我们的 GUI 表上的 excel 文件表中复制(使用普通 Ctrl+C)和粘贴(使用 Ctrl+V)数据.我通过使用分而治之或其他一些机制来增加。目前我不太确定该怎么做。这是我的代码的一部分:

上面的代码像这样按行调用:

请知道我的问题需要比代码优化更多的算法解决方案,但是任何包含代码相关优化的答案也将受到赞赏。 (标记为 Linq,因为虽然没有看到我在我的代码的某些部分中使用了 linq)。

最佳答案

1. IIRC dRow["Condition"]dRow[index] 慢得多,因为它每次都必须进行查找.在调用之前找出列有哪些索引。

public virtual void ValidateAndFormatOnCopyPaste(DataTable DtCopied, int CurRow, int conditionIndex, int valueIndex)
{
foreach (DataRow dRow in dtValidateAndFormatConditions.Rows)
{
string Condition = dRow[conditionIndex];
string FormatValue = Value = dRow[valueIndex];
GetValidatedFormattedData(DtCopied,ref Condition, ref FormatValue ,iRowIndex);
Condition = Parse(Condition);
dRow[conditionIndex] = Condition;
FormatValue = Parse(FormatValue );
dRow[valueIndex] = FormatValue;
}
}

2.如果您正在实时更新 excel 文档,您还应该在此过程中锁定工作表更新,这样文档就不会在每次单元格更改时都重新绘制。

3. virtual 方法也有性能损失。

关于c# - 改进行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com