找回密码
 立即注册

QQ登录

只需一步,快速开始

zjac

金牌服务用户

4

主题

15

帖子

55

积分

金牌服务用户

积分
55
zjac
金牌服务用户   /  发表于:2024-1-15 10:50  /   查看:1395  /  回复:11
本帖最后由 Richard.Huang 于 2024-1-16 13:55 编辑

产品:GcExcel
版本:V6.2.5
问题编号:DOCXLS-9681
LastReview:2024/01/16
该问题已经在V7.0.2中得到修复,可以等待版本发布后通过升级版本来解决该问题

对示例文件进行autofit操作后,并没有达到理想的效果,如H-M列,设置值为0后,autofit操作后明显不正确。但是当把值由0改成一个较长的数值,如F-G列,autofit操作后就是正确的。如何解决像H-M列这种autofit不正确的问题。
image.png13172301.png


TEST.xlsx

22.15 KB, 下载次数: 69

评分

参与人数 1金币 +200 收起 理由
Richard.Huang + 200 很给力!

查看全部评分

11 个回复

倒序浏览
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-1-15 10:54:23
沙发
本帖最后由 Richard.Huang 于 2024-1-15 11:54 编辑

您好,根据测试,我们在GcExcelV7.0.1中确实复现了该问题,对此我们将进行进一步调研,后续有相关调研结果我会第一时间在本贴中进行回复。问题编号:DOCXLS-9681
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-1-15 16:32:23
板凳
本帖最后由 Richard.Huang 于 2024-1-16 13:56 编辑

最新调研进展:本贴中提及的问题已经在V7.0.2中得到修复,您可以等待新版本发布后通过升级GcExcel的版本来解决该问题

该bug的主要原因是这些“#”单元格使用“kaiti”作为它们的字体名称,而 gcexcel 在进行自动调整时无法识别它们,因此会出现该问题。您目前可以在执行自动调整之前添加以下代码来临时解决该问题,具体问题我们将在未来版本中进行修复:
  1. worksheet.getRange(3,0,1, 21).getFont().setName("楷体");
复制代码

回复 使用道具 举报
zjac
金牌服务用户   /  发表于:2024-1-19 09:25:14
地板
Richard.Huang 发表于 2024-1-15 16:32
最新调研进展:本贴中提及的问题已经在V7.0.2中得到修复,您可以等待新版本发布后通过升级GcExcel的版本来 ...

目前尝试用了代码set("楷体")的方式还是不行
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-1-19 11:14:06
5#
zjac 发表于 2024-1-19 09:25
目前尝试用了代码set("楷体")的方式还是不行

您好,请问您经过上述方式设置后,目前导出结果是什么呢?我这边测试结果是好的,以下是测试代码和结果对比
image.png514637755.png
  1. Workbook workbook = new Workbook();
  2. workbook.open("FUNDXXXX_XX基金_科目余额表_YYYYMM.xlsx");
  3. IWorksheet worksheet = workbook.getWorksheets().get(0);
  4. worksheet.getRange(3, 0).setValue("1234");
  5. worksheet.getRange(3, 1).setValue("1234567890");
  6. worksheet.getRange(3, 2).setValue("1234567890");
  7. worksheet.getRange(3, 3).setValue("1234567890");
  8. worksheet.getRange(3, 4).setValue("人民币");
  9. worksheet.getRange(3, 5).setValue(566756.66);
  10. worksheet.getRange(3, 6).setValue(346482.66);
  11. worksheet.getRange(3, 7).setValue(12);
  12. worksheet.getRange(3, 8).setValue(0);
  13. worksheet.getRange(3, 9).setValue(0);
  14. worksheet.getRange(3, 10).setValue(0);
  15. worksheet.getRange(3, 11).setValue(0);
  16. worksheet.getRange(3, 12).setValue(0);
  17. worksheet.getRange(3, 13).setValue(23564434.53);
  18. worksheet.getRange(3, 14).setValue(254564245.2);
  19. worksheet.getRange(3, 15).setValue(23524624.35);
  20. worksheet.getRange(3, 16).setValue(245246356.43);
  21. worksheet.getRange(3, 17).setValue(245624635.66);
  22. worksheet.getRange(3, 18).setValue(46346377.66);
  23. worksheet.getRange(3, 19).setValue(0);
  24. worksheet.getRange(3, 20).setValue(0);
  25. worksheet.getUsedRange().autoFit();
  26. workbook.save("结果1.xlsx", SaveFileFormat.Xlsx);
  27. worksheet.getRange(3,0,1, 21).getFont().setName("楷体");
  28. worksheet.getUsedRange().autoFit();
  29. workbook.save("结果2.xlsx", SaveFileFormat.Xlsx);
复制代码

回复 使用道具 举报
zjac
金牌服务用户   /  发表于:2024-1-19 15:24:10
6#
Richard.Huang 发表于 2024-1-19 11:14
您好,请问您经过上述方式设置后,目前导出结果是什么呢?我这边测试结果是好的,以下是测试代码和结果对 ...

和您代码有点区别,worksheet.getRange(3,0,1, 21).getFont().setName("楷体");
这里我选择的区域不是固定区域,而是worksheet.getUsedRange().getFont().setName("楷体");,请问这是否会有影响
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-1-19 15:44:52
7#
zjac 发表于 2024-1-19 15:24
和您代码有点区别,worksheet.getRange(3,0,1, 21).getFont().setName("楷体");
这里我选择的区域不是固 ...

您好,这个不会有影响的。您可以看一下是否按照我上面所述将该代码放到自动调整(autoFit)之前执行。
image.png646665954.png
回复 使用道具 举报
zjac
金牌服务用户   /  发表于:2024-1-19 17:16:12
8#
Richard.Huang 发表于 2024-1-19 15:44
您好,这个不会有影响的。您可以看一下是否按照我上面所述将该代码放到自动调整(autoFit)之前执行。

是放在autofit之前执行的,那是否和我版本号是6.2.1有关呢
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-1-19 17:36:41
9#
zjac 发表于 2024-1-19 17:16
是放在autofit之前执行的,那是否和我版本号是6.2.1有关呢

您好,应该跟版本没有关系,我测试了V6.2.1版本也没有遇到您的问题,附件是我测试用的demo,您可以下载到本地进行测试

untitled1.rar

50.52 KB, 下载次数: 57

回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2024-1-22 16:57:37
10#
您好,请问楼主通过临时方法测试是否生效,如果仍然存在问题,欢迎继续跟帖询问
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部