2011-09-13 9 views
10

Tôi đang tạo báo cáo bằng cách sử dụng thư viện microsoft.interop.excel trong C#.microsoft.interop.excel Định dạng ô

Tôi có một cái gì đó như thế này:

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

Tôi muốn phạm vi để hiển thị giá trị của nó như là toàn bộ số ví dụ: không chữ số thập phân. Tôi đã thử rangeTarge.AutoFormat, nhưng không biết cách sử dụng nó.

Bất kỳ ý tưởng nào?

Cảm ơn.

+0

bạn có thể tìm thấy 'SốFormat' đại diện cho định dạng bạn muốn không? Ngoài ra, có bất kỳ điều gì khác bạn cần cho câu hỏi này để được giải quyết không? – TMB

+0

Rất nhiều ví dụ về định dạng loại dữ liệu tại đây: https://support.office.com/en-us/article/Create-or-delete-a-custom-number-format-2d450d95-2630-43b8-bf06-ccee7cbe6864? ui = vi-US & rs = vi-US & ad = US –

Trả lời

5

thấy 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

Tôi không nghĩ rằng điều này sẽ trả lời cho bạn câu hỏi, nhưng tôi sẽ để nó ở đây. – TMB

12

Tôi không biết những gì các định dạng khác nhưng bạn có thể nhìn 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

Định dạng văn bản: NumberFormat = "@" – Xtian11

+0

@ Xtian11 - đó là một nhận xét rất hữu ích. – Den