GcExcel autofit方法不生效
本帖最后由 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不正确的问题。
本帖最后由 Richard.Huang 于 2024-1-15 11:54 编辑
您好,根据测试,我们在GcExcelV7.0.1中确实复现了该问题,对此我们将进行进一步调研,后续有相关调研结果我会第一时间在本贴中进行回复。问题编号:DOCXLS-9681 本帖最后由 Richard.Huang 于 2024-1-16 13:56 编辑
最新调研进展:本贴中提及的问题已经在V7.0.2中得到修复,您可以等待新版本发布后通过升级GcExcel的版本来解决该问题
该bug的主要原因是这些“#”单元格使用“kaiti”作为它们的字体名称,而 gcexcel 在进行自动调整时无法识别它们,因此会出现该问题。您目前可以在执行自动调整之前添加以下代码来临时解决该问题,具体问题我们将在未来版本中进行修复:
worksheet.getRange(3,0,1, 21).getFont().setName("楷体");
Richard.Huang 发表于 2024-1-15 16:32
最新调研进展:本贴中提及的问题已经在V7.0.2中得到修复,您可以等待新版本发布后通过升级GcExcel的版本来 ...
目前尝试用了代码set("楷体")的方式还是不行 zjac 发表于 2024-1-19 09:25
目前尝试用了代码set("楷体")的方式还是不行
您好,请问您经过上述方式设置后,目前导出结果是什么呢?我这边测试结果是好的,以下是测试代码和结果对比
Workbook workbook = new Workbook();
workbook.open("FUNDXXXX_XX基金_科目余额表_YYYYMM.xlsx");
IWorksheet worksheet = workbook.getWorksheets().get(0);
worksheet.getRange(3, 0).setValue("1234");
worksheet.getRange(3, 1).setValue("1234567890");
worksheet.getRange(3, 2).setValue("1234567890");
worksheet.getRange(3, 3).setValue("1234567890");
worksheet.getRange(3, 4).setValue("人民币");
worksheet.getRange(3, 5).setValue(566756.66);
worksheet.getRange(3, 6).setValue(346482.66);
worksheet.getRange(3, 7).setValue(12);
worksheet.getRange(3, 8).setValue(0);
worksheet.getRange(3, 9).setValue(0);
worksheet.getRange(3, 10).setValue(0);
worksheet.getRange(3, 11).setValue(0);
worksheet.getRange(3, 12).setValue(0);
worksheet.getRange(3, 13).setValue(23564434.53);
worksheet.getRange(3, 14).setValue(254564245.2);
worksheet.getRange(3, 15).setValue(23524624.35);
worksheet.getRange(3, 16).setValue(245246356.43);
worksheet.getRange(3, 17).setValue(245624635.66);
worksheet.getRange(3, 18).setValue(46346377.66);
worksheet.getRange(3, 19).setValue(0);
worksheet.getRange(3, 20).setValue(0);
worksheet.getUsedRange().autoFit();
workbook.save("结果1.xlsx", SaveFileFormat.Xlsx);
worksheet.getRange(3,0,1, 21).getFont().setName("楷体");
worksheet.getUsedRange().autoFit();
workbook.save("结果2.xlsx", SaveFileFormat.Xlsx);
Richard.Huang 发表于 2024-1-19 11:14
您好,请问您经过上述方式设置后,目前导出结果是什么呢?我这边测试结果是好的,以下是测试代码和结果对 ...
和您代码有点区别,worksheet.getRange(3,0,1, 21).getFont().setName("楷体");
这里我选择的区域不是固定区域,而是worksheet.getUsedRange().getFont().setName("楷体");,请问这是否会有影响 zjac 发表于 2024-1-19 15:24
和您代码有点区别,worksheet.getRange(3,0,1, 21).getFont().setName("楷体");
这里我选择的区域不是固 ...
您好,这个不会有影响的。您可以看一下是否按照我上面所述将该代码放到自动调整(autoFit)之前执行。
Richard.Huang 发表于 2024-1-19 15:44
您好,这个不会有影响的。您可以看一下是否按照我上面所述将该代码放到自动调整(autoFit)之前执行。
是放在autofit之前执行的,那是否和我版本号是6.2.1有关呢 zjac 发表于 2024-1-19 17:16
是放在autofit之前执行的,那是否和我版本号是6.2.1有关呢
您好,应该跟版本没有关系,我测试了V6.2.1版本也没有遇到您的问题,附件是我测试用的demo,您可以下载到本地进行测试 您好,请问楼主通过临时方法测试是否生效,如果仍然存在问题,欢迎继续跟帖询问
页:
[1]
2