您提供的图片放大缩小都看不清,如下图所示,需要您重新提供一个清晰的图片。
cmbsjdev 发表于 2024-10-23 15:38
我们使用您提供的sjs文件在最新17.1.7版本测试,导出为xlsx文件后打开,原本设置了复选框的单元格中填充了被选中的复选框中的内容,如下动图所示。如果您使用的版本不是17.1.7,可以升级至17.1.7版本测试。
Wilson.Zhang 发表于 2024-10-23 16:29
我们使用您提供的sjs文件在最新17.1.7版本测试,导出为xlsx文件后打开,原本设置了复选框的单元格中填充 ...
你们这是使用的spreadjs导出的。如果是用GCExcel导出呢 Wilson.Zhang 发表于 2024-10-23 16:29
我们使用您提供的sjs文件在最新17.1.7版本测试,导出为xlsx文件后打开,原本设置了复选框的单元格中填充 ...
我们是使用GCExcel导出后的文件,没有多选框的样式以及数据 cmbsjdev 发表于 2024-10-23 16:44
我们是使用GCExcel导出后的文件,没有多选框的样式以及数据
了解了,通过GcExcel复现了问题,正在调研。调研编号为DOCXLS-11387,需要一些时间,请您耐心等候,之后会及时向您同步结论。
{:5_110:} 您好!在SpreadJS设置CheckBoxList单元格类型,并勾选了选项后,SpreadJS存储的勾选数据为字符串。以您提供的文件为例,除了单元格类型元数据外,对于E2单元格,SpreadJS存储的数据为”12“;对于E3,SpreadJS存储的数据为”567,567“。Excel不支持单元格类型,虽然无法显示CheckBoxList,但是由于保存了勾选的数据,因此,可以显示上述字符串。这是SpreadJS的处理方式,再说GcExcel的处理方式。
仍然以上述单元格为例,GcExcel为E3保存的内容为”“,这才使得Excel中无法显示勾选内容。如果事先知道文件中哪些单元格被设置了单元格类型,可以将其内容”“转为”567,567“,再将转换后的字符串填回单元格即可在Excel文件中看到原本勾选项对应的内容,可以参考如下代码:
IWorksheet w2 = wb.getWorksheets().get("业绩数据");
Object E3 = w2.getRange("E3").getValue();
StringBuilder sb = new StringBuilder();
if (E3.getClass().isArray()) {
for (int i = 0; i < Array.getLength(E3); i++) {
sb.append(Array.get(E3, i));
if (i < Array.getLength(E3) -1) {
sb.append(",");
}
}
}
w2.getRange("E3").setValue(sb.toString());
您可以参考上述内容测试下。
这个应该是SpreadJS与GCExcel的适配问题吧,如果能够做好适配,就没这个问题了吧 cmbsjdev 发表于 2024-11-4 17:17
这个应该是SpreadJS与GCExcel的适配问题吧,如果能够做好适配,就没这个问题了吧
收到您的反馈,我们继续调研下,您可以先参考在17楼给您提供的workaround处理使用。
{:5_110:} 您好,反馈已收到,我们已创建了一条需求,用于增强自定义单元格导出到Excel的功能。我将此贴移至产品需求版本,需求编号:DOCXLS-11461。
页:
1
[2]