请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

cxk

注册会员

1

主题

2

帖子

11

积分

注册会员

积分
11
  • 28

    金币

  • 1

    主题

  • 2

    帖子

最新发帖
cxk
注册会员   /  发表于:2025-1-24 10:40  /   查看:78  /  回复:3
5金币
本帖最后由 cxk 于 2025-1-24 17:00 编辑

【预期效果】
单元格的数据可以按照以下格式Format后显示
1. 时间类型【已解决】
"yyyy-MM-dd HH:mm:ss"
"yyyy-MM-dd HH:mm"
"yyyy年MM月dd日"
"HH:mm:ss"

2. 数字类型

百分比【已解决】
科学计数法【已解决】
保留xx位有效数字
指定小数位数【已解决】

【尝试过的方案】
1. 尝试设置单元格的CellType
时间类型:设置为DateTimeCellType,但是只能使用Spread预置的几种显示格式,没有达到预期效果,如何按照指定的格式来显示?
数字类型:设置为NumberCellType,可以设置小数位数,但无法设置科学计数法,保留xx位有效数字的效果
2. 设置单元格的CellType为GeneralCellType:
设置GeneralCellType的DateTimeFormat = new DateTimeFormatInfo();(指定其ShortDatePattern和LongTimePattern),IsDateFormat=True,无效。
设置GeneralCellType的FormatString属性,无效。




3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2025-1-24 15:08:12
沙发
不管是spread中还是excel中,给单元格设置格式实际上都是设置一个格式字符串,包括你看到在对话框中显示为数字,文本,日期等等的特定格式

通过代码设置的话,可以用下面的代码
  1. fpSpread1.ActiveSheet.AsWorksheet().Cells[1,1].NumberFormat = "0.00";
复制代码


内置格式和字符串的对应关系,可以参考这个文章
https://gcdn.grapecity.com.cn/fo ... mp;extra=#pid874950
回复 使用道具 举报
cxk
注册会员   /  发表于:2025-1-24 17:00:23
板凳
Richard.Ma 发表于 2025-1-24 15:08
不管是spread中还是excel中,给单元格设置格式实际上都是设置一个格式字符串,包括你看到在对话框中显示为 ...

我的版本是Spread.Net 16 for Winforms,
试了NumberFormat这种方式没有效果,
我通过设置CellType=GeneralCellType{FormatString="0.00E+00"}是有效的
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:4 天前
地板
不可能无效的,你在检查一下代码,或者发一个复现问题的demo过了看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部