2012-02-08 23 views
2

Excelの1つの列に文字の配列を挿入したい。私は通常、次のように通常の文字列を追加するだけです:Excelセルに配列を挿入する

lCommand.CommandText += "\"" + row["source"].ToString().Replace("\"", "\"\"").Replace(" ", " ") + "\","; 

Excelの列に文字列の配列を追加するにはどうすればよいですか?ありがとう!

答えて

0

あなたがして、ファイルを開くことができますC#とあなたが望むセルに書き込みます。

まず:

using Microsoft.Office.Interop.Excel; 

これは、Excel用のCOM参照を持っているあなたを必要としています。

この後、必要なファイルを開き、値を設定する必要があります。その後、ファイルを閉じることができます。

ここは例です。配列の行や列ごとにループすることができます。

_Application docExcel = new Microsoft.Office.Interop.Excel.Application(); 
    docExcel.Visible = false; 
    docExcel.DisplayAlerts = false; 

    _Workbook workbooksExcel = docExcel.Workbooks.Open(@"C:\test.xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 
    _Worksheet worksheetExcel = (_Worksheet)workbooksExcel.ActiveSheet; 

    ((Range)worksheetExcel.Cells["1", "A"]).Value2 = "aa"; 
    ((Range)worksheetExcel.Cells["1", "B"]).Value2 = "bb"; 

    workbooksExcel.Save(); 
    workbooksExcel.Close(false, Type.Missing, Type.Missing); 
    docExcel.Application.DisplayAlerts = true; 
    docExcel.Application.Quit(); 

編集:あなたはすべてのそれらのType.Missingパラメータを使用しない場合は

あなたは、ダイナミックキーワードを使用することができます。

_Application docExcel = new Application{Visible = false}; 

    dynamic workbooksExcel = docExcel.Workbooks.Open(@"C:\test.xlsx"); 
    var worksheetExcel = (_Worksheet)workbooksExcel.ActiveSheet; 

    ((Range)worksheetExcel.Cells["1", "A"]).Value2 = "test1"; 
    ((Range)worksheetExcel.Cells["1", "B"]).Value2 = "test2"; 

    workbooksExcel.Save(); 
    workbooksExcel.Close(false); 
    docExcel.Application.Quit(); 
1

この記事を参照してください。

Fun with Excel--setting a range of cells via an array

私はあなたが(短い)の記事を読むことをお勧めしますが、スポイラーとして:

Excel.Range r = this.Range["B2", "B4"]; 

object[,] workingValues = new object[3, 1]; 

for (int i = 0; i < 3; i++) 
{ 
    workingValues[i, 0] = i + 2; // 2,3,4 
} 

r.Value2 = workingValues; 
関連する問題