2011-01-20 4 views
1

私はarraylist(array_list)から値を構成しました。このarraylist(array_list)をExcelシートに取り込みたいと思います。Cで配列リストを作成するにはどうすればいいですか?

さらに、arraylist(array_list)にはいくつかの値がありますが、これはExcelシートに入力されません。 VSTOを使用してExcelシートをC#から呼び出す予定です。

上記をどのように達成しますか?

+1

arraylistをexcelで読み込むと、単に配列の値をスプレッドシートに書きたいと思っていますか? – Mathias

+0

はい、実際には、スプレッドシート内の配列リストのすべての値が必要です – cmrhema

答えて

2

これはかなり醜いですが、それは動作します - 2次元配列にあなたのArrayListの内容を書き出し、およびワークシートにそれをダンプ:あなたのリストが十分に小さい場合

var arrayList = new ArrayList(); 
arrayList.Add("Alpha"); 
arrayList.Add("Bravo"); 
arrayList.Add("Charlie"); 

var excel = Globals.ThisAddIn.Application; 
var worksheet = (Worksheet)excel.ActiveSheet; 

var array = new object[1, 3]; 
for (var i = 0; i < 3; i++) 
{ 
    array[0, i] = arrayList[i]; 
} 

var firstCell = worksheet.Cells[1, 1]; 
var lastCell = worksheet.Cells[1, 3]; 
var range = worksheet.Range[firstCell, lastCell]; 
range.Value2 = array; 

あるいは、あなたは、単に反復することができあなたの配列リストの上に書いて、セルで内容のセルを書く:

var row = 1; 
foreach (var value in arrayList) 
{ 
    var cell = (Range)worksheet.Cells[row, 1]; 
    cell.Value2 = value; 
    row++; 
} 
+0

マティアス、私はあなたの2番目の方法に従っていますが、まだあなたよりも醜い、配列コレクションの値のいくつかをnullにしていました。細胞内に置く。各列の値を1つずつ繰り返す必要がありました。 – cmrhema

関連する問題