jjk 发表于 2023-11-2 17:05:01

[GCEXCEL6.0.5] 单元格图片偶尔会出现图片不能自适应

本帖最后由 Lynn.Dou 于 2024-1-24 17:48 编辑

产品:GcExcel
版本:6.2.3
编号:DOCXLS-9194
Last Review: 2024-1-24
此问题已在V6.2.5修复

后端生成表格的表格需要添加图片, 添加完图片设置自适应后有的行会不生效




Joestar.Xu 发表于 2023-11-2 17:57:33

您好,您提供的文件只有模版,没有数据,您这边提供一下完整的Demo,这边复现后调研一下。

jjk 发表于 2023-11-2 18:25:50

Joestar.Xu 发表于 2023-11-2 17:57
您好,您提供的文件只有模版,没有数据,您这边提供一下完整的Demo,这边复现后调研一下。

附件已重新上传

Joestar.Xu 发表于 2023-11-3 11:58:32

本帖最后由 Joestar.Xu 于 2023-11-3 12:08 编辑

您好,问题已复现,这边调研一下,后续有进展我会在本帖中回复您。

问题编号:DOCXLS-9194

Joestar.Xu 发表于 2023-11-3 15:03:32

您好,经初步研判认定该问题是一个Bug,目前正在修复中,临时的解决方案请参考以下代码:

将autoFit提前于设置图片。

for (int i = 0; i < count; i++) {
    IRange iRange = usedRange.getRows().get(i);
    double before = iRange.getHeight();
    for (int i1 = 0; i1 < col; i1++) {
      IRange cell = iRange.getColumns().get(i1);
      if (cell.getValue() != null && cell.getValue().toString().contains("sign::")) {

            int x = i + 1;
            int y = i1 + 1;
            cell.setValue("");
            iRange.autoFit();

            IRange range = sheet.getRange(excelColIndexToStr(y) + x + ":" + excelColIndexToStr(y) + x);
            System.out.println(range);
            Rectangle rect = com.grapecity.documents.excel.CellInfo.GetRangeBoundary(range);
            System.out.println(rect.getWidth() + "\t" + rect.getHeight());
            InputStream stream = new FileInputStream(new File("C:\\Users\\berylbai\\Downloads\\demo\\a118bda7-8f15-47d0-95e7-c3e8b1e82a82.png"));

            sheet.getShapes().addPictureInPixel(stream, ImageType.PNG, rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight());

      }
    }
}

Lynn.Dou 发表于 2023-11-20 15:13:22

更新进展:
此问题计划在V6.2.5修复,待产品发布后您可以升级验证下。
页: [1]
查看完整版本: [GCEXCEL6.0.5] 单元格图片偶尔会出现图片不能自适应