2011-09-13 10 views
10

Estoy creando un informe usando la biblioteca microsoft.interop.excel en C#.microsoft.interop.excel Formateo de celdas

que tienen algo como esto:

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

Quiero que el rango para mostrar sus valores como números enteros es decir, sin decimales. He intentado rangeTarge.AutoFormat, pero no tengo idea de cómo usarlo.

¿Alguna idea?

Gracias.

+0

¿Pudo encontrar un 'NumberFormat' que representa el formateo que desea? Además, ¿hay algo más que necesite para resolver esta pregunta? – TMB

+0

Muchos ejemplos de formato de tipo de datos aquí: https://support.office.com/en-us/article/Create-or-delete-a-custom-number-format-2d450d95-2630-43b8-bf06-ccee7cbe6864? ui = en-US & rs = en-US & ad = US –

Respuesta

5

ver 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

No creo que esto vaya a responderte la pregunta, pero lo dejaré aquí de todos modos. – TMB

12

No sé lo que los otros formatos son, pero se puede mirar en 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 de texto: NumberFormat = "@" – Xtian11

+0

@ Xtian11: ese es un comentario muy útil. – Den