2017-12-09 7 views
0

Excelシートの一部のセルのフォントスタイル(フォントタイプ)を変更する必要があります。 Microsoft.Office.Interop.ExcelによってExcelシートが生成されるc#、Microsoft Interop Excel、選択した範囲のフォントスタイルを変更する

B3をA100フォントタイプに変更するにはB3をB100に変更します。 は、ここで私は

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

ハンゲであなたのコードを手伝ってくれる を働いていない:

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"; 

は、より多くの情報については、Microsoftのdocumentatationページ https://msdn.microsoft.com/en-us/library/f1hh9fza.aspx

関連する問題