2013-12-10 50 views
0

我有包含10列的excel文件。我必須根據名稱選擇多個列,然後將所有值複製到一個數組中。將多個範圍複製到一個數組

第一步我就先列索引

string columnsName; 
var columnsNumbers = new List<int>(); 
for (int i = 1; i < range.Columns.Count; i++) 
{ 
    columnsName = ((Range) range.Cells[1, i]).Value2; 
    if(columnsName.Equals("Empl, "+DateTime.Now.Year,StringComparison.OrdinalIgnoreCase)) 
    columnsNumbers.Add(i); 
    if (columnsName.Equals("Test, " + DateTime.Now.Year, StringComparison.OrdinalIgnoreCase)) 
     columnsNumbers.Add(i); 
    if (columnsName.Equals("Jour, " + DateTime.Now.Year, StringComparison.OrdinalIgnoreCase)) 
     columnsNumbers.Add(i); 
    if (columnsName.Equals("Actual, Other Suppliers, " + DateTime.Now.Year, StringComparison.OrdinalIgnoreCase)) 
     columnsNumbers.Add(i); 
    if (columnsName.Equals("FutureR, " + DateTime.Now.Year+1, StringComparison.OrdinalIgnoreCase)) 
     columnsNumbers.Add(i); 
} 

現在,我添加列表中的目標指標,我怎麼能得到了列存儲索引的價值和所有存儲在二維數組?

+0

該代碼的另一個問題...你使用雙點...我認爲這可能是COM互操作,所以你可能想要閱讀本文... http://stackoverflow.com/questions/158706/how-to -perperly-clean-up-excel-interop-objects – DarkSquirrel42

+0

@ DarkSquirrel42我沒有看到這個鏈接與我的問題有什麼關係?我沒有發佈com對象的問題...... etc – Maro

+0

如果你使用COM interop來訪問excel,你可能遲早會遇到這個問題......同時,看到下面的答案 – DarkSquirrel42

回答

0

谷歌可以幫助...

here你可以看到如何讓兩個單元

連同this(它完全相反,書寫一個數組的一個範圍),你可能會發現的範圍如何讀取一個範圍到一個數組中......

一旦你擁有了你所有的列數組,你所要做的就是找出你的最終數組應該有的維數,創建它,然後開始複製

相關問題