我正在尝试将 excel 中的单元格格式化为货币格式。所以我进入excel,记录一个我将普通单元格转换为货币格式的宏,看看vb脚本,看到它输出以下内容:
NumberFormat = "$#,##0.00"
所以我采用该格式并将其粘贴到我的代码中,它的工作原理是我在我的 Excel 工作表中的值之前获取货币字符。然而,单元格的格式仍然是一个数字,excel 在单元格的左下角放置了一个小绿色三角形,通知我格式不正确(它是,因为它应该是货币,但它设置为数字)在 C# 中有什么方法可以实际将单元格设置为“货币”格式?
谢谢
最佳答案
范围对象有一个“Style”属性……intelisense 元数据表明它只是“返回一个您可以使用的对象”,但您也可以只使用该属性设置 Style。要获得内置的“货币”样式,请使用(例如)工作簿对象的“样式”属性。
例子:
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"];
事实上,您可以将其设置为字符串“Currency”,这可能正是 Charles 所建议的。
((Excel.Range)sheet.Cells[3, 4]).Style = "Currency";
关于c# - Excel 互操作货币格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4049640/