簡體   English   中英

c#,Microsoft Interop Excel,更改所選范圍的字體樣式

[英]c#, Microsoft Interop Excel , change font style for s selected range

我需要更改Excel工作表中某些單元格的字體樣式(字體類型)。 Excel工作表由Microsoft.Office.Interop.Excel生成

我想將B3更改為B100范圍為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();

我用了

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

但它不起作用任何人都可以幫助我

把你的代碼改為:

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

提示:在許多情況下,您可以自己回答這些問題:只需記錄Excel宏並查看生成的代碼。 即使它是VBA,而不是C#,你經常會看到你需要的東西。

您需要先定義樣式。

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

然后,您需要定義單元格范圍並應用新樣式。

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

有關詳細信息,請查看Microsoft文檔頁面https://msdn.microsoft.com/en-us/library/f1hh9fza.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM