c# - c# interop excel:将一维数组写入excel范围
问题描述
我想将一维数组复制到 excel 中的列范围。我正在interop
为此目的使用。
我已经尝试过这些事情:
range.get_Resize(Ary.Length, 1).Value2 = Ary;
range.set_Value(Excel.XlRangeValueDataType.xlRangeValueDefault, Ary);
- 和一样简单
range.Value = Ary;
我试过使用 even range.value2
,但是这些东西将数组中的第一个索引值复制到整个范围。
所以假设,如果范围中有 200 行并且数组包含整数 101-300,那么使用上述尝试的方法在整个范围内仅复制 101。
谁能帮我解决这个问题?如果有人可以向我解释这种奇怪的行为会更有帮助!提前致谢。
注意:我知道我可以通过for 循环来做到这一点,但这需要时间。我肯定想知道一种方法,它可以用不到一分钟的时间来迭代一百万行。
解决方案
我真的不知道上述方法到底有什么问题。但我找到了解决方案:
Excel.Range range = sheetSource.UsedRange.Columns[columnIndx];
range.Value = application.WorksheetFunction.Transpose(Ary);
推荐阅读
- dax - DAX 期初余额按天计算在月份和年份上不正确
- ios - Xcode 11.6 (11E708) 中的 Interface Builder 以 XML 格式显示故事板
- java - ConsumerRecord在apache spring kafka中包含双引号“”xxxxxxxxxxxxxx“”内的键值
- javascript - 如何忽略谷歌浏览器中的这个错误?
- apache-spark - Spark 结构化流中的不同计数的聚合引发错误
- json - 如何在 postgresql 的 json 列中添加 varcahr 列
- html - 使用查询将 gist 中的 JSON 加载到表中
- c# - Visual Studio:无法加载 2 个版本的 Json.NET 并使用别名
- mitmproxy - 如何在启动期间向 mitmdump 提供证书密码
- angular - OccAdapters 和 Services 的使用区别是什么?