c# - 从 Excel 中读取(范围到多维数组)C#

标签 c# excel multidimensional-array

我如何从 Excel 工作表中读取并将标记的选择(区域)加载到多维数组中? Excel 中的一列本身可以是一个多维数组,因为它包含多个值。

现在的想法(不确定这有多好或多坏)是在所有 Excel.Area(选定字段)中执行一个 for 循环,并将该字段的内容添加到多维数组中。由于多维数组是 object[,] 类型,因此是非泛型的,因此没有方便的 add() 方法。所有这些都需要手动完成。

不知道这种方法是否可行,或者是否可以更有效地完成?

最佳答案

您可以将 Range 的值读取为数组:

using (MSExcel.Application app = MSExcel.Application.CreateApplication()) 
{
    MSExcel.Workbook book1 = app.Workbooks.Open( this.txtOpen_FilePath.Text);
    MSExcel.Worksheet sheet = (MSExcel.Worksheet)book1.Worksheets[1];
    MSExcel.Range range = sheet.GetRange("A1", "F13");

    object value = range.Value; //the value is boxed two-dimensional array
}

此代码片段来自.NET wrapper for MS Office .但在 MS Excel 中的 VSTO 或 VBA 中也有相同的原理。

关于c# - 从 Excel 中读取(范围到多维数组)C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/910400/

相关文章:

javascript - JavaScript 中的反斜杠错误

c# - json.net 将元素映射到集合

c# - MVC C# 下载文件并另存为对话框

vba - 使用 VBA 向表格中的单元格添加超链接 - Excel

Java : Drawing using a two dimensional array as a grid

c++ - 如何获取多维结构数组的长度?

c# - 创建xaml.cs文件

c# - 在程序中实现逻辑时,If else 的更好选择是什么? | C#

c - 在 C 中对齐数据集列

excel - 激活后如何选择文本框的内容?