0
我在Excel中有一個表格,我想將選定區域導入到Excel中的二維數組中。它必須是C#中相同的二維數組。我有一張照片,請看看它。我想這方面的導入int array[81,81]
:從Excel讀取特定區域到2D數組
我在Excel中有一個表格,我想將選定區域導入到Excel中的二維數組中。它必須是C#中相同的二維數組。我有一張照片,請看看它。我想這方面的導入int array[81,81]
:從Excel讀取特定區域到2D數組
可以使用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));
非常感謝。我已經讓你感到厭煩。 – DeadLock
您還可以使用EP-PLUS庫這一點。它在Nuget和免費開放源代碼上可用。 這是一個鏈接:http://epplus.codeplex.com/ –