EXCEL已提前设置了单元格批量导入图片格式,但导入外部数据后仍然不能正确显示

POI操作EXCEL出现的单元格格式丢失问题的解决方案 - 推酷
POI操作EXCEL出现的单元格格式丢失问题的解决方案
1、问题截图:
2、问题分析:
在网上找过一些答案,都说是excel2003版本的问题,对单元格的样式有限制。当时公司没有网络,也不能查找到更多的资料、
后经过领导批准找到另外的资料图:
3、执行测试:
两种情况,执行批量写入,查看在多少数据量时会发生格式丢失异常。
分析结果:执行单个
,数据总行数超过
行就会出现格式丢失;多个
,数据总行超过
行会出现格式丢失。
针对出现格式丢失的
,再次执行该
的写入,查看是否是由于
本身引起的问题。
分析结果:未发现异常,格式全部正确。
手动修改生成的
的单元格格式,查看数据是否可以回复正常。
分析结果:经过手动格式刷刷新,单元格格式恢复正常,数据也恢复正常。
<span style="color:#、最后讨论结果
本身确实对同一种样式的单元格写入有数量的限制。若用户工作簿中存在着4000种以上的单元格格式组合,那么在执行许多命令时(包括排序),Excel都会提示“不同的单元格格式太多”。
这里的单元格格式组合,指工作簿中任意单元格,若所设置的单元格格式与其他单元格有任何细微的差别,即成为一种单元格格式组合。例如,有两个单元格,都设置单元格格式为红色宋体12号字,若其中一个单元格的数字格式使用2位小数,而另一个单元格的数据格式不使用小数,则两个单元格各使用一种单元格格式组合。
但经过多次不同形式的测试我们发现尽管EXCEL有诸多格式限制,但其本身只是一个数据的载体不负责数据的写入,写入的过程是我们使用POI框架完成的操作。其单元格的样式也是通过POI框架构建并写入的,如果我们可以在写入时控制单元格样式的创建,应该可以解决这个问题
5、解决方式
通过观察汇总流程和代码,
现在源系统中的数据写入功能执行无误,但性能不佳。且存在单元格格式频繁创建的弊端,源系统创建的单元格样式是跟随单元格的创建而生成的,假设
列,那么创建单元格样式就要重复执行
次,效率十分低,并且会导致“单元格丢失”问题的出现。通过分析,我们得知系统已规范了
中的单元格格式总计
种分别是常规类型、会计专用、整数、日期
yyyy-mm-dd
、百分比。所以我们可以提前的创建好这六种单元格样式,在不同的单元格使用时直接调用就可以,避免了样式的批量创建,不仅避免了单元格丢失异常,还大大提升了性能。
通过优化子系统部分代码,将单元格样式提前创建放入
中,到使用时直接调用。测试结果显示问题未出现,单元格格式未丢失,数据正确。
<span style="color:#、具体代码跟踪
&1&问题代码
&2&新增代码
使用POI写入excel数据时,如果使用的excel版本是2003,当批量创建过多的样式(格式)时容易发生单元格丢失问题(这样操作性能也差劲),所以需要严格控制单元格样式的创建和生成,提前将样式创建,放入Map中,等用到的时候直接从Map中去,避免了样式的频繁创建和单元格样式丢失问题,大大提升了性能。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致查看: 3389|回复: 13
数据透视表单元格的格式无法设置
阅读权限20
在线时间 小时
遇到了一个非常奇怪的问题。数据透视表的单元格格式设置为百分比+2位小数,但是单元格仍然显示为很长的数字,不知道是什么原因?
QQ截图未命名.jpg (33.68 KB, 下载次数: 5)
21:13 上传
(33.48 KB, 下载次数: 45)
21:14 上传
点击文件名下载附件
打开测试.xls就可以看到问题。谢谢。
阅读权限20
在线时间 小时
你试试在数据源中直接设置单元格式为百分比后在做数据透视看看~~~
阅读权限20
在线时间 小时
本帖最后由 tge123 于
22:34 编辑
rpz0609 发表于
你试试在数据源中直接设置单元格式为百分比后在做数据透视看看~~~
{:soso_e127:}。
感谢您的热情支持,不过...,您的思路的确很具有启发性。
阅读权限20
在线时间 小时
求关注,求帮助。{:soso_e100:}
阅读权限20
在线时间 小时
下载了,觉得是挺奇怪的。帮不上忙,来友情顶帖。。。
阅读权限20
在线时间 小时
不可能这样啊!你试试点击整C列再设置看看
阅读权限20
在线时间 小时
yu_kunping 发表于
不可能这样啊!你试试点击整C列再设置看看
有图有附件,您自己试试啊。
阅读权限95
在线时间 小时
& & & & & & & &
奇怪,为什么新建一个就可以呢更改呢。
阅读权限20
在线时间 小时
温迪-Yu 发表于
下载了,觉得是挺奇怪的。帮不上忙,来友情顶帖。。。
多谢友情支持。
阅读权限20
在线时间 小时
取消勾选工具-选项下公式试试
选项.jpg (89.2 KB, 下载次数: 7)
15:39 上传
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师第三方登录:| 522: 链接超时
-- Event ID: 3468ddc691be661c
如果您是网站管理员,点击查看。如需网站监控,可以使用。
您的浏览器
百度云加速扫二维码下载作业帮
1.75亿学生的选择
下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
EXCEL单元格里数值等于另一个单元格,没有数值的时候不要显示为0,要如何设置函数例如A1=B1,但B1没有数值的时候A1就会显示为"0",请问哪位高手可以教教我能不能用函数将"0"取消,只需当B1有数据的时候显示B1实际的数据,没有数据时不用显示任何东西.我已经试过在A1里设"=IF(B1=0," "),虽然能实现当B1没有数据的时候A1为空白,但当B1有数据的时候A1就会显示"FALSE",不能正常显示所需的数据.
七情★军团KH
扫二维码下载作业帮
1.75亿学生的选择
a1 b1两个单元格,b1=IF(a1=0,"",a1) 这就是让B1=A1 没数值的时候什么都不显示.当然,如果是财务报表,最好没数的时候显示 - ,这个就可以在设置单元格格式中,把数据设成会计专用格式就OK了!
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 poi 导入合并单元格 的文章

 

随机推荐