2016-05-23 75 views
0

我在Excel中有一個表格,我想將選定區域導入到Excel中的二維數組中。它必須是C#中相同的二維數組。我有一張照片,請看看它。我想這方面的導入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; 

編輯: 有爲什麼要導出Excel文件爲二維數組,而不是數據表中的原因。
你可以retreive所需的數據作爲數據表如下所示:

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

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

非常感謝。我已經讓你感到厭煩。 – DeadLock