| ■88223 / ) |
c# エクセルのセル範囲を1次配列に格納する方法 |
□投稿者/ ユウタ (1回)-(2018/08/09(Thu) 22:06:57)
|
分類:[C#]
forを使わずにエクセルのセル範囲をstring型で1次配列に格納したいのですが、可能でしょうか。
(大量の値を格納するためforだと処理が遅くなるため高速化したいです)
以下コードの場合、Console.WriteLineでは「System.__ComObject」と出力されてしまいます。
AAA.xlsxには、1列目に5000行目まで文字列が入っています。
using System;
using System.Linq;
using usgExcel = Microsoft.Office.Interop.Excel;
namespace Test_エクセルを1次配列化
{
class Program
{
static void Main(string[] args)
{
string FilePath = @"C:\AAA.xlsx";
usgExcel.Application myExcel = new usgExcel.Application();
myExcel.Visible = true;
usgExcel.Workbook myWorkBook = null;
myWorkBook = myExcel.Workbooks.Open(FilePath);
usgExcel.Worksheet myWorkSheet = myWorkBook.Sheets["Sheet1"];
usgExcel.Range myRange = myWorkSheet.Range[myWorkSheet.Cells[1, 1], myWorkSheet.Cells[5000, 1]];
object[] myRangeObj = (myRange).Cast<object>().ToArray();
Console.WriteLine(Convert.ToString(myRangeObj[1]));
Console.WriteLine(Convert.ToString(myRangeObj[2]));
Console.WriteLine(Convert.ToString(myRangeObj[3]));
Console.ReadKey();
}
}
}
|
|