C# 使用ClosedXML写入Excel时长数字避免科学计数法问题咨询
ClosedXML导出长数字卡号完整展示解决方案
方案1:数值格式实现(对应你手动操作的方案一)
适用于卡号为纯数字的场景,编辑时无多余字符,不会出现科学计数法:
var currentRow = 1; var cardNo = "9993232323232320"; // 先设置目标列的数字格式:无小数,格式代码为0 worksheet.Column(6).Style.NumberFormat.Format = "0"; // 将卡号转为数值类型后赋值 worksheet.Cell(currentRow, 6).Value = long.Parse(cardNo);
方案2:文本格式实现(对应你手动操作的方案二)
适用于卡号可能包含非数字字符的场景,无前置撇号:
var currentRow = 1; var cardNo = "9993232323232320"; // 先设置目标列为文本格式 worksheet.Column(6).Style.NumberFormat.Format = "@"; // 直接写入字符串类型的卡号 worksheet.Cell(currentRow, 6).Value = cardNo;
核心注意点
两种方案都必须先设置列格式,再写入单元格内容,顺序颠倒会导致设置失效。
内容的提问来源于stack exchange,提问作者Sahin
相关产品推荐
相关产品推荐

