2017-12-09 50 views
0

Excel 시트에서 일부 셀의 글꼴 스타일 (글꼴 유형)을 변경해야합니다. Excel 시트가 Microsoft.Office.Interop.Excel에 의해 생성됩니다.C#, Microsoft Interop Excel, 선택된 글꼴 스타일 변경

Arial 글꼴 유형으로 B3 범위로 B3 범위를 변경하고 싶습니다. 는 여기에 내가

worksheet.get_Range("B3", "B4").Cells.Font.FontStyle = "Arial"; 

을 사용

Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application(); 
Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing); 
Microsoft.Office.Interop.Excel._Worksheet worksheet = null; 

app.Visible = true; 
worksheet = workbook.Sheets["Sheet1"]; 
worksheet = workbook.ActiveSheet; 
worksheet.Name = "Exported from gridview"; 
worksheet.get_Range("B3", "B100").Cells.Font.FontStyle = "Arial"; 

for (int i = 1; i < records_datagridview.Columns.Count + 1; i++) 
{ 
    worksheet.Cells[1, i] = records_datagridview.Columns[i - 1].HeaderText; 
} 

for (int i = 0; i < records_datagridview.Rows.Count; i++) 
{ 
    for (int j = 0; j < records_datagridview.Columns.Count; j++) 
    { 
     worksheet.Cells[i + 2, j + 1] = records_datagridview.Rows[i].Cells[j].Value.ToString(); 
    } 
} 

String file_path = fbd.SelectedPath + "/records_sheet_" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + "_.xlsx"; 

workbook.SaveAs(file_path, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
       Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, 
       Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

app.Quit(); 

내 코드 그러나 하나이이

+0

체크 아웃 "하지만 작동하지 않습니다"설명하는 끔찍한 방법입니다 또는 더 나은 아직 무슨 일이 일어나고 있는지 설명 할 수 있습니다. worksheet.get_Range ("B3", "B4") 사용 Cells.Font.Name = "Arial"; – Sorceri

답변

2

hange에 코드를 도와 줄 수 을 작동하지 않습니다 :

worksheet.get_Range("B3", "B4").Cells.Font.Name = "Arial"; 

팁 : 대부분의 경우 다음과 같은 질문에 대답 할 수 있습니다. Excel 매크로를 실행하고 생성 된 코드를 살펴보십시오. C#이 아닌 VBA 임에도 불구하고 자주 필요한 것을 볼 수 있습니다.

0

먼저 스타일을 정의해야합니다.

Excel.Style style = workbook.Styles.Add("NewStyle"); 
style.Font.Name = "Arial"; 

그런 다음 셀 범위를 정의하고 새 스타일을 적용해야합니다.

Excel.Range rangeStyles = app.get_Range("B3", "B100"); 
rangeStyles.Style = "NewStyle"; 

이 더 많은 정보를 위해, 마이크로 소프트 documentatation 페이지 https://msdn.microsoft.com/en-us/library/f1hh9fza.aspx