2010-09-02 6 views

Répondre

6

Voici comment:

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

Concentrez-vous sur la deuxième ligne à partir du bas. Cela définit le type de police par défaut, mais je voulais vous montrer d'où vient xlApp, même si c'est explicite.

+0

Cela a fonctionné parfaitement pour moi en utilisant la bibliothèque d'objets Microsoft Excel 14.0. – pennyrave

2

Avez-vous essayé quelque chose comme ceci:

new Font("Arial", 10, FontStyle.Bold); 
+0

_range.Font = new Police ("Arial", 16, FontStyle.Bold); Cela n'a pas fonctionné. – Sathish

+0

L'avez-vous essayé dans votre contexte de code? Voyez comment .NET fonctionne avec les classes Font et comment il construit un texte 'fonty'. – Orca

14

D'après ce que j'ai essayé, en changeant simplement le nom de la police, la taille, etc ... sur la gamme change la police pour cette gamme:

range.Font.Name = "Arial" 
range.Font.Size = 10 
range.Font.Bold = true 
1

Hey Ne vous fâchez pas je le fais et travaille pour moi.

Il suffit de définir Font.Name et excell feuille remplir toute la feuille utilisation partout. Tout code Way est:

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

((Excel.Range) WorksheetResult.UsedRange) .Font.Name = "Avant Garde";

WorksheetResult est juste une référence de feuille.

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

ce qui suit travaillé pour moi, quand j'ai essayé de placer la police de l'application par défaut, il n'a rien fait pour que j'ai pu définir le nom de la police des lignes de feuille active et cela a fonctionné. A noter également que j'ai utilisé et testé cela en utilisant la version 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";