找回密码
 立即注册

QQ登录

只需一步,快速开始

byf

注册会员

11

主题

43

帖子

130

积分

注册会员

积分
130
byf
注册会员   /  发表于:2017-12-13 17:35  /   查看:3939  /  回复:5
本帖最后由 byf 于 2017-12-14 08:55 编辑

下面是调试程序截图:
image.png621438598.png 当程序走到如图时,sheet单元格(8行7列)的值为449776400  格式(Formatter)为自定义的 #,##0.00;-#,##0.00;_ * -??_  ;_ @_   
当程序走到下图: image.png589504088.png 保存文件。 image.png245717162.png 此外还有另外一种情况就是自定义的百分比格式保存成excel后格式却变成了数字

5 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-14 09:27:21
沙发
您好,可否提供下您设置值和format 的代码,是否有给单元格设置过celltype
回复 使用道具 举报
byf
注册会员   /  发表于:2017-12-14 10:14:56
板凳
dexteryao 发表于 2017-12-14 09:27
您好,可否提供下您设置值和format 的代码,是否有给单元格设置过celltype

你好,没有设置过celltype 下面是设置format的代码: image.png990785217.png image.png916946105.png 下面是设置值的代码 image.png212000121.png
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-14 14:37:03
地板
您好,

按照您的Demo没有重现问题
  1.             FpSpread1.ActiveSheetView.Cells[0, 0].Value = 2342342.23;
  2.             var ft = new FarPoint.Web.Spread.Model.GeneralFormatter("#,##0.00;-#,##0.00;_ * -??_  ;_ @_", false);
  3.             FpSpread1.ActiveSheetView.Cells[0, 0].Formatter = ft;
  4.             FpSpread1.SaveExcel(@"D:\abc.xlsx", FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat);
  5.      
复制代码
回复 使用道具 举报
byf
注册会员   /  发表于:2017-12-14 17:09:00
5#
dexteryao 发表于 2017-12-14 14:37
您好,

按照您的Demo没有重现问题

image.png843197631.png 你好,我刚把上面这两句代码替换成了下面这两句竟然好了,不明白。GeneralFormatter 和GeneralCellType这两个对象的作用有什么区别?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-12-14 18:23:04
6#
CellType 是定义整个单元格类型行为的,而GeneralFormatter 只是复制format 数据。因为都实现了IFormatter 接口,所以这里也可以用。具体为什么GeneralCellType 导出会加百分号这个得看内部实现了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部