【发布时间】:2019-09-24 11:46:12
【问题描述】:
我需要将 Range 的值赋给多维对象但出现错误:
无法将类型 object 隐式转换为 object[*,*]。存在显式转换(您是否缺少演员表?)
代码如下:
Excel.Application oXL = new Excel.Application();
Excel.Workbook oWB = oXL.Workbooks.Open(rtbExcelPath.Text.Trim(), Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value);
Excel.Worksheet oWS = oWB.Worksheets[1] as Excel.Worksheet;
int countRows = oWS.UsedRange.Rows.Count;
int countColumns = oWS.UsedRange.Columns.Count;
object[,] data = oWS.Range[oWS.Cells[1, 1], oWS.Cells[countRows,
countColumns]].Cells.Value2;
请帮忙检查一下有什么问题... :(
【问题讨论】:
-
哪一行会报错?是在您尝试打开工作簿时吗?
-
这个:object[,] data = oWS.Range[oWS.Cells[1, 1], oWS.Cells[countRows, countColumns]].Cells.Value2;
-
Value2 返回特定单元格的值,它不会是数组。谷歌“c# excel copy range into array”找代码,点击太多,推荐最好的。
标签: c# excel excel-interop