使用c#中的Microsoft.Office.Interop.Excel在excel列中设置数字类型,如数字,文本和日期

Jac*_*987 12 c# format excel ms-office

我的问题是我正在尝试将数据类型设置为C#中的excel列,在这种情况下是数据类型编号,文本和日期.我正在使用DLL Microsoft.Office.Interop.Excel.我不知道如何使用C#编程语言将这些格式设置为整个excel列的单元格.

Sid*_*and 25

要将范围设置为文本:

xlYourRange.NumberFormat = "@";
Run Code Online (Sandbox Code Playgroud)

您还可以为放在带有撇号的单元格中的值添加前缀,以便将其格式化为文本:

xlYourRange.Value = "'0123456";
Run Code Online (Sandbox Code Playgroud)

将范围设置为数字

xlYourRange.NumberFormat = "0";
Run Code Online (Sandbox Code Playgroud)

显然,如果要设置整个列的格式,那么您的范围将是列.

xlYourRange = xlWorksheet.get_Range("A1").EntireColumn;
Run Code Online (Sandbox Code Playgroud)

编辑:

日期有点复杂,也取决于您的区域设置:

// Results in a Date field of "23/5/2011"

xlRange.NumberFormat = "DD/MM/YYYY";
xlRange.Value = "23/5/2011";

// Results in a Custom field of "23/5/2011"

xlRange.NumberFormat = "DD-MM-YYYY";
xlRange.Value = "23/5/2011";

// Results in a Custom field of "05/23/2011"

xlRange.NumberFormat = "MM/DD/YYYY";
xlRange.Value = "5/23/2011";

// Results in a Custom field of "05-23-2011"

xlRange.NumberFormat = "MM-DD-YYYY";
xlRange.Value = "5/23/2011";

// Results in a Date field of "23/05/2011"

xlRange.NumberFormat = "DD/MM/YYYY";
xlRange.Value = "5/23/2011";

// Results in a Custom field of "23-05-2011"

xlRange.NumberFormat = "DD-MM-YYYY";
xlRange.Value = "5/23/2011";

// Results in a Custom field of "23/5/2011"

xlRange.NumberFormat = "MM/DD/YYYY";
xlRange.Value = "23/5/2011";

// Results in a Custom field of "23/5/2011"

xlRange.NumberFormat = "MM-DD-YYYY";
xlRange.Value = "23/5/2011";
Run Code Online (Sandbox Code Playgroud)