我目前在C#应用程序中工作,该应用程序有一个将生成excel文件的类。一切顺利。 excel表上填充的数据有'Times New Roman'字体。我想将其更改为其他一些字体(Calibari)。我怎么能以编程方式做到这一点。
答案 0 :(得分:15)
根据我的尝试,只需更改字体名称,大小等......在范围内更改该范围的字体:
range.Font.Name = "Arial"
range.Font.Size = 10
range.Font.Bold = true
答案 1 :(得分:6)
以下是:
//Declare Excel Interop variables
Microsoft.Office.Interop.Excel.Application xlApp;
Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
//Initialize variables
xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
//Set global attributes
xlApp.StandardFont = "Arial Narrow";
xlApp.StandardFontSize = 10;
从底部开始关注第二行。这设置了默认字体类型,但我想告诉你xlApp来自哪里,即使它是自我解释的。
答案 2 :(得分:3)
你有没有试过这样的事情:
new Font("Arial", 10, FontStyle.Bold);
答案 3 :(得分:2)
var range = worksheet.get_Range(string.Format("{0}:{0}", startRowIndex, Type.Missing));
range = range.EntireRow;
range.Style.Font.Name = "Arial";
range.Style.Font.Bold = false;
range.Style.Font.Size = 12;
答案 4 :(得分:2)
以下对我有用,当我尝试设置默认的应用程序字体时,它什么也没做,所以我能够设置活动工作表行的字体名称并且它有效。另外值得注意的是我使用Excel Interop版本12
进行了测试Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
//Create\Add workbook object
Excel.Workbooks workBooks = excelApp.Workbooks;
//Excel.Workbook
Excel.Workbook workBook = workBooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
//use worksheet object
Excel.Worksheet workSheet = (Excel.Worksheet)excelApp.ActiveSheet;
//set default font
workSheet.Rows.Font.Name = "Arial";
答案 5 :(得分:1)
嘿,不要不高兴,我这样做并为我工作。
只需定义Font.Name和excell表填充所有表格在任何地方使用。 任何方式代码是:
workSheet.Range[workSheet.Cells[1, tempCount], workSheet.Cells[1, tempCount + mergeCount-1]].Merge();
workSheet.Range[workSheet.Cells[1, tempCount], workSheet.Cells[1, tempCount + mergeCount - 1]].Interior.Color = ColorTranslator.ToOle(Color.FromArgb(23,65,59));
workSheet.Range[workSheet.Cells[1, tempCount], workSheet.Cells[1, tempCount + mergeCount - 1]].Borders.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;
workSheet.Range[workSheet.Cells[1, tempCount], workSheet.Cells[1, tempCount + mergeCount - 1]].Style.Font.Name = "Arial Narrow";
答案 6 :(得分:1)
((Excel.Range)WorksheetResult.UsedRange).Font.Name =“Avant Garde”;
WorksheetResult只是一个工作表参考。
答案 7 :(得分:0)
通过我自己的类似问题找到了该线程。我有一个小选择器框,当单击一个单元格时,需要将唯一字体的符号粘贴到所选的excel单元格中。这是我的操作方式:
string selectedItem = arrayOfSymbols[tableLayoutPanel1.GetRow((Control)sender), tableLayoutPanel1.GetColumn((Control)sender)];
Excel.Worksheet ws = Globals.ThisAddIn.Application.ActiveSheet;
Excel.Range cell = Globals.ThisAddIn.Application.ActiveCell;
ws.Cells[cell.Row, cell.Column].Font.Name = "My Custom Font";
ws.Cells[cell.Row, cell.Column] = selectedItem;