Excel Interop货币格式

Wal*_*arp 3 c# excel interop

我正在尝试将excel中的单元格格式化为货币格式.所以我进入excel,记录我将普通单元格转换为货币格式的宏,看看vb脚本并看到它输出以下内容:

NumberFormat ="$#,## 0.00"

所以我采用这种格式并将其粘贴到我的代码中,它的工作范围是我在excel表中的值之前得到货币字符.但是,单元格的格式仍然是一个数字,并且excel在单元格的左下角放置一个小的绿色三角形,通知我格式不正确(它是cos,它应该是货币,但是它设置为数字)在c#中有没有办法将单元格实际设置为"货币"格式?

谢谢

TCC*_*TCC 7

范围对象具有"样式"属性...智能元数据表示它只是"返回一个可以使用的对象",但您也可以使用该属性设置样式.要获得内置的"货币"样式,请使用(例如)Workbook对象的"样式"属性.

例:

using Excel = Microsoft.Office.Interop.Excel;

...

var excel = new Excel.Application();
var wb = excel.Workbooks.Add();
var sheet = (Excel.Worksheet)wb.Sheets[1];
((Excel.Range)sheet.Cells[3, 4]).Style = wb.Styles["Currency"];
Run Code Online (Sandbox Code Playgroud)

事实上,您可以将其设置为字符串"Currency",这可能是Charles所建议的.

((Excel.Range)sheet.Cells[3, 4]).Style = "Currency";
Run Code Online (Sandbox Code Playgroud)