将数组写入 Excel 范围

2024-02-02

我目前正在尝试使用以下代码将数据从对象数组写入 Excel 中的范围,其中objData只是一个字符串数组:

private object m = System.Type.Missing;
object[] objData = getDataIWantToWrite();

Range rn_Temp;
rn_Temp = (Range)XlApp.get_Range(RangeName, m);
rn_Temp = rn_Temp.get_Resize(objData.GetUpperBound(), 1);
rn_Temp.value2 = objData;

这几乎可以工作,问题是范围被填满,但每个单元格都获得了第一个项目的值objData.

相反的工作,即

private object m = System.Type.Missing;
object[] objData = new object[x,y]

Range rn_Temp;
rn_Temp = (Range)XlApp.get_Range(RangeName, m);
rn_Temp = rn_Temp.get_Resize(objData.GetUpperBound(), 1);
objData = (object[])rn_Temp.value2;

将返回一个包含工作表中所有值的数组,所以我不确定为什么读取和赋值工作方式不同。

有没有人成功地做到过这一点?我目前正在逐个单元地编写数组,但它需要处理大量(> 50,000)行,因此非常耗时。


这是我的方法的摘录,该方法将DataTable (the dt变量)写入数组,然后将数组写入Range在工作表上(wsh变种)。您还可以更改topRow变量到您想要将字符串数组放置在的任何行。

object[,] arr = new object[dt.Rows.Count, dt.Columns.Count];
for (int r = 0; r < dt.Rows.Count; r++)
{
    DataRow dr = dt.Rows[r];
    for (int c = 0; c < dt.Columns.Count; c++)
    {
        arr[r, c] = dr[c];
    }
}
Excel.Range c1 = (Excel.Range)wsh.Cells[topRow, 1];
Excel.Range c2 = (Excel.Range)wsh.Cells[topRow + dt.Rows.Count - 1, dt.Columns.Count];
Excel.Range range = wsh.get_Range(c1, c2);
range.Value = arr;

当然你不需要使用中间体DataTable就像我所做的那样,代码摘录只是为了演示如何在单次调用中将数组写入工作表。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将数组写入 Excel 范围 的相关文章

  • 将一个大的 xlsx 文件导入到 R 中?

    我想知道是否有人知道从 大 xlsx 文件 20Mb 导入数据的方法 我尝试使用 xlsx 和 XLConnect 库 不幸的是 两者都使用 rJava 我总是收到相同的错误 gt library XLConnect gt wb lt lo
  • C++ 中本地类中的静态成员变量?

    我知道我们不能宣布static本地类中的成员变量 但其原因尚不清楚 那么请问有人可以解释一下吗 另外 为什么我们不能访问非static函数内部定义的变量 内部已经定义了局部类 直接在局部类成员函数中 在下面给出的代码中 int main i
  • 推导指南中的引用和值之间的差异

    考虑类型A template
  • 如何将 #ifdef DEBUG 添加到 Xcode?

    我的项目中有一些代码永远不应该在发布版本中使用 但在测试时很有用 我想做这样的事情 ifdef DEBUG Run my debugging only code endif 在 Xcode 4 中哪里添加 DEBUG 设置 我尝试将其放入
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • 存储来自其他程序的事件

    我想将其他应用程序的事件存储在我自己的应用程序中 事件示例 打开 最小化 Word 或打开文件时 这样的事可能吗 运行程序 http msdn microsoft com en us library ms813609 aspx and 打开
  • 用于检查项目文件中的项目变量和引用路径的 api

    我正在研究一个 net application VS2010 与 x 没有 解和变量号这些解决方案中的项目数量 我需要检查项目属性 特定于一定数量的项目 是否同质 并且检查 验证构建期间的参考路径 有没有一个API是这样的吗 如果没有 我该
  • 无法在 Windows 运行时组件库的 UserControl 中创建依赖项属性

    我想在用户控件内创建数据可绑定属性 这个用户控件包含一个 Windows 运行时组件 项目 我使用下面的代码来创建属性 public MyItem CurrentItem get return MyItem GetValue Current
  • 使用 php 和 symfony 从数组创建 Excel 文件

    我正在尝试使用 PHP 和 symfony 将数组导出为 XLS 文件 如下面的代码所示 创建 XLS 文件后 我只能获取数组的最后一行 并且它显示在文件的第一行中 似乎 lignes 变量没有增加 我不明白出了什么问题 有人可以帮忙吗 f
  • 如何在 Linq 中获得左外连接?

    我的数据库中有两个表 如下所示 顾客 C ID city 1 Dhaka 2 New york 3 London 个人信息 P ID C ID Field value 1 1 First Name Nasir 2 1 Last Name U
  • 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

    我正在使用 IE8 和 watin 并尝试通过我的网页测试上传文件 我不能简单地使用 set 方法设置上传文件 例如 ie FileUpload Find ById someId Set C Desktop image jpg 因为上传文本
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • 私有模板函数

    我有一堂课 C h class C private template
  • 修剪工作簿中的所有单元格(VBA)

    我尝试向一直在开发的 Excel 加载项添加功能 该功能会修剪已用单元格末尾的前导空格 甚至可能解析文本 我需要这样做的原因只是为了将其变成超链接我已经在工作了 但是那部分很好 这是我到目前为止所尝试的 我已经修剪了active works
  • Process.Start() 方法在什么情况下返回 false?

    From MSDN https msdn microsoft com en us library e8zac0ca v vs 110 aspx 返回值 true 表示有新的进程资源 开始了 如果由 FileName 成员指定的进程资源 St
  • Excel VBA 自动过滤子字符串

    我的 Excel 中有多行 其中 D 列为 TDM 02 Bundle Rehoming 5 NE TDM 02 Bundle Rehoming 23 NE IP 02 Bundle Rehoming 7 NE 等 请注意 大多数情况下 N
  • 如何在按钮单击时模拟按键 - Unity

    我对 Unity 中的脚本编写非常陌生 我正在尝试创建一个按钮 一旦单击它就需要模拟按下 F 键 要拾取一个项目 这是我当前的代码 在编写此代码之前我浏览了所有统一论坛 但找不到任何有效的东西 Code using System Colle
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N
  • 当另一个线程可能设置共享布尔标志(最多一次)时,是否可以读取共享布尔标志而不锁定它?

    我希望我的线程能够更优雅地关闭 因此我尝试实现一个简单的信号机制 我不认为我想要一个完全事件驱动的线程 所以我有一个工作人员有一种方法可以使用关键部分优雅地停止它Monitor 相当于C lock我相信 绘图线程 h class Drawi

随机推荐

  • numba @jit 比纯 python 慢吗?

    所以我需要改进我一直在处理的脚本的执行时间 我开始使用 numba jit 装饰器来尝试并行计算 但是它让我困惑 KeyError Does not support option parallel 所以我决定测试 nogil 是否解锁了我的
  • 在 Cloud Spanner 中存储 UUID

    我想在 Cloud Spanner 中使用 UUID 作为主键 读写 UUID 的最佳方式是什么 是否有 UUID 类型或客户端库支持 最简单的解决方案是将其存储为标准中的 STRINGRFC 4122 https www rfc edit
  • Java - 等待第三方线程完成

    我有一个线程将运行第三方库 该第三方库也将运行自己的线程 当我的线程的 run 方法完成时 第三方线程还没有完成 那么 在这些外部线程仍在运行之前保持线程的最佳方法是什么 If你是一个应用程序 不必担心SecurityManager的限制
  • 使用按位运算将 Int 转换为 Float 或 Float 转换为 Int(软件浮点)

    我想知道您是否可以帮助解释将整数转换为浮点数或将浮点数转换为整数的过程 对于我的课程 我们将仅使用按位运算符来完成此操作 但我认为对从类型到类型的转换的深入理解将在这个阶段对我有更多帮助 据我所知 到目前为止 对于 int 到 float
  • 捕获 VPN 使用统计数据

    我们正在使用 NET 2 0 中的 NetworkInterface GetIPv4Statistics 来监视网络接口的使用统计信息 这不会报告 VPN 流量通过隧道传输的连接的正确统计信息 相反 对于 Cisco VPN 客户端 其使用
  • 编译器优化掉的变量

    我开始调试一些代码试图找出我的错误 当我尝试p tlEntries从调试器我得到
  • 将 decltype 与成员函数指针结合使用

    我使用时遇到一些问题decltype对于成员函数指针 include
  • 转义 findstr 搜索字符串中的引号

    使用 findstr exe 时如何正确转义搜索字符串中的引号 Example findstr misc namespace cs gt ns txt 这会输出到控制台 而不是我指定的文件 我直接在命令行上执行此操作 而不是实际上在批处理文
  • 在 NHibernate 中删除对象时,“not-null 属性引用 null 或瞬态值”

    我创建了一个 MVC 4 并使用 NHibernate 来持久化模型并使用 Fluent nhibernate 映射它 该实体有一个 Name 属性 并按如下方式映射 Map x gt x Name Not Nullable Length
  • Cocoapods Firebase Pod 更新

    早上好 我在更新 Firebase Analytics 和 Firebase Core pod 时遇到问题 我的 Pod 文件 source https github com CocoaPods Specs git source https
  • 写入易失性变量后会发生什么?

    我想知道写入易失性变量是否会强制jvm将所有非易失性变量同步到内存 例如 以下代码中会发生什么 volatile int x int y y 5 x 10 x 将被写入内存 但是 y 会发生什么 它也会被写入内存吗 是的 根据规则Java
  • 使用多列交叉应用动态 SQL 逆透视数据

    微软 SQL Server Management Studio v18 8 我有一个表 其中有不同的列和列名称 我需要对数据进行逆透视 以便最终可以将其存储到另一个表中 不幸的是 这是一个过程 因为原始表格是从 Google 表格中提取的
  • 如何减慢动画播放速度?

    我有动画矩形jsFiddle 演示 http jsfiddle net kHvaX 如何减慢动画速度并使其更稳定 我尝试使用循环延迟 但延迟循环和 requestAnimationFrame 之间存在冲突 我不想改变参数window set
  • 使用 java 查询 MySQL 数据库

    伙计们 简单地说 我有一个带有文本输出框的java应用程序 我想查询数据库并将输出显示到文本框中 示例我有一个包含两列的数据库food and color 我想 SELECT in Table WHERE color blue 有什么建议么
  • 为什么我的 tempdb 在服务器重新启动时会重置权限?

    过去两次我们重新启动 SQL Server 我们的网站就瘫痪了 原因似乎是因为 tempdb 正在重新创建 并且 ASPState 用户失去了读 写 tempdb 的权限 它是 ASP 站点 会话数据存储在 sql server 中 直到大
  • 编写 jax-ws Web 服务并生成 WSDL,无需 XSD

    我在java上为tomcat应用程序服务器编写了一个简单的JAX WS Web服务 我有一个接口和实现类 界面 WebService name myWs SOAPBinding style Style RPC public interfac
  • R:不同日期的栅格图层之间的插值

    假设我有 4 个具有相同扩展的栅格图层 其中包含 4 个不同年份的数据 2006 2008 2010 和 2012 library raster r2006 lt raster ncol 3 nrow 3 values r2006 lt 1
  • 如何在rhino javascript中将对象属性添加到全局对象

    我想将对象中的一些属性添加到全局命名空间中 在浏览器上的 javascript 中 我可以将其添加到window像这样的对象 var myObject foo function alert hi and many more properti
  • jQuery 仅在第二次单击时工作

    谁能指出为什么我在第一次单击时无法弹出警报的问题 它仅在每秒一次点击时起作用 即 在奇数点击时不起作用 在偶数点击时起作用 HTML div class slider div class slider box ui slider ui sl
  • 将数组写入 Excel 范围

    我目前正在尝试使用以下代码将数据从对象数组写入 Excel 中的范围 其中objData只是一个字符串数组 private object m System Type Missing object objData getDataIWantTo