gpt4 book ai didi

c# - 使用 NPOI,如何返回已由 Excel 格式化的单元格值?

转载 作者:行者123 更新时间:2023-11-30 12:26:28 28 4
gpt4 key购买 nike

使用 NPOI , 是否有任何内置的可能性来格式化单元格值(尤其是数字和日期值),因为它一直是 formatted by Excel

如果不是,最好的实现方式是什么?我想到了从 Excel 格式字符串到 C# 格式字符串的格式字符串转换器?

以下示例假定 Excel 格式字符串和 C# 格式字符串相同。所以它适用于一些基本的格式字符串,例如:“#,##0.00”

using NPOI.SS.UserModel;

ICell cell = workbook.GetSheet("table1").GetRow(0).GetCell(0);
string value = null;

if(cell.CellType == CellType.String) {
value = cell.StringCellValue;
} else if(cell.CellType == CellType.Numeric) {
string formatString = cell.CellStyle.GetDataFormatString();

if(DateUtil.IsCellDateFormatted(cell)) {
value = cell.DateCellValue.ToString(formatString);
} else {
value = cell.NumericCellValue.ToString(formatString);
}
} else [...]

最佳答案

发现了内置 NPOI 的可能性。但是,“1983 年 9 月 18 日,星期日” 等某些格式的计算结果类似于 “EEEE,1983 年 9 月 18 日”

using NPOI.SS.UserModel;

DataFormatter dataFormatter = new DataFormatter(CultureInfo.CurrentCulture);
ICell cell = workbook.GetSheet("table1").GetRow(0).GetCell(0);

string value = dataFormatter.FormatCellValue(cell);

关于c# - 使用 NPOI,如何返回已由 Excel 格式化的单元格值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28714740/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com