2016-05-23 11 views
0

Excelでテーブルを作成しましたが、Excelで選択した領域を2D配列にインポートしたいと思います。 C#では同じ2D配列でなければなりません。私には写真があります。それを見てください。私はint array[81,81]にその領域をインポートする:Excelから2D配列に特定の領域を読み取る

Selected area

+0

ます。また、このためにEP-Plusのライブラリを使用することができます。これはNugetと無料のオープンソースで利用可能です。 ここにリンクがあります:http://epplus.codeplex.com/ –

答えて

0

あなたは(あなたがこれを達成するために、その無料版を使用することができます)このためGemBox.Spreadsheetライブラリを使用することができます。

ExcelFile workbook = ExcelFile.Load("guncellenmis.xlsx"); 
ExcelWorksheet worksheet = workbook.Worksheets.ActiveWorksheet; 

int count = 81; 
int[,] data = new int[count, count]; 

// Get range from "C2" to "CE82". 
CellRange range = worksheet.Cells.GetSubrangeRelative(1, 2, count, count); 
// Or you can retrieve the required range differently, like: 
//CellRange range = worksheet.Cells.GetSubrangeRelative("C2:CE82"); 
//CellRange range = worksheet.Cells.GetSubrangeRelative("C2", "CE82"); 
// etc. 

for (int row = 0; row < range.Height; ++row) 
    for (int column = 0; column < range.Width; ++column) 
     data[row, column] = range[row, column].IntValue; 

EDIT: あなたが代わりのDataTableの2D配列としてExcelファイルをエクスポートする理由があります。ここ

は、あなたが使用できるサンプルです。
あなたは次のようなデータテーブルとして必要なデータを盗んできます

ExcelFile workbook = ExcelFile.Load("guncellenmis.xlsx"); 
ExcelWorksheet worksheet = workbook.Worksheets.ActiveWorksheet; 

DataTable table = worksheet.CreateDataTable(
    new CreateDataTableOptions("C2", 81, 81)); 
+0

ありがとうございました。私はあなたにアペリテットを持っています。 – DeadLock

関連する問題