2011-09-13 16 views
10

Sto costruendo un report utilizzando la libreria microsoft.interop.excel in C#.microsoft.interop.excel Cellule di formattazione

ho qualcosa di simile a questo:

Range rangeTarget; 
. 
. 
. 
rangeTarget = worksheet.get_Range("C" + row, "N" + row); 

voglio la gamma per visualizzarne i valori come numeri interi vale a dire senza cifre decimali. Ho provato rangeTarge.AutoFormat, ma non ho idea di come usarlo.

Qualsiasi idea?

Grazie.

+0

Sei riuscito a trovare un 'NumberFormat' che rappresenta la formattazione desiderata? Inoltre, c'è qualcos'altro che ti serve per risolvere questa domanda? – TMB

+0

Qui ci sono un sacco di esempi di formattazione dei tipi di dati: https://support.office.com/en-us/article/Create-or-delete-a-custome-number-format-2d450d95-2630-43b8-bf06-ccee7cbe6864? ui = it-US & rs = it-US e ad = US –

risposta

5

vedere MSDN

Microsoft.Office.Tools.Excel.NamedRange namedRange1 = 
this.Controls.AddNamedRange(this.Range["A1", "A5"], "namedRange1"); 

namedRange1.NoteText("This is a Formatting test", missing, missing); 
namedRange1.Value2 = "Martha"; 
namedRange1.Font.Name = "Verdana"; 
namedRange1.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; 
namedRange1.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; 
namedRange1.BorderAround(missing, Excel.XlBorderWeight.xlThick, 
    Excel.XlColorIndex.xlColorIndexAutomatic, missing); 
namedRange1.AutoFormat(Excel.XlRangeAutoFormat.xlRangeAutoFormat3DEffects1, 
    true, false, true, false, true, true); 

if (MessageBox.Show("Clear the formatting and notes?", "Test", 
    MessageBoxButtons.YesNo) == DialogResult.Yes) 
{ 
    namedRange1.ClearFormats(); 
    namedRange1.ClearNotes(); 
} 
+0

Non penso che questo risponda alla tua domanda, ma lo lascerò comunque qui. – TMB

12

Non so cosa gli altri formati sono ma si può cercare su the MSDN.

Excel.Range ThisRange = ThisSheet.get_Range("A:A",system.type.missing); 
ThisRange.NumberFormat = "0.00%"; 
ThisRange.NumberFormat = "General";  
ThisRange.NumberFormat = "hh:mm:ss"; 
ThisRange.NumberFormat = "DD/MM/YYYY"; 

Marshal.FinalReleaseComObject(ThisRange); 
+6

Formato testo: NumberFormat = "@" – Xtian11

+0

@ Xtian11 - questo è un commento molto utile. – Den

Problemi correlati