2012-02-08 4 views
2

Excel의 한 열에 문자 배열을 삽입하고 싶습니다.Excel 셀에 배열 삽입

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

가 어떻게 엑셀의 컬럼에 문자열의 배열을 추가합니다 : 난 보통 그냥 일반 문자열을 추가하기 위해이 같은 것을 사용? 감사!

답변

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(); 

편집 :

_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(); 
: 당신이 모든 Type.Missing 매개 변수를 원하지 않는 경우

당신은 동적 키워드를 사용할 수 있습니다

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;