We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

excel模板支持Map吗?

Worksheet w = …
w.getCells().get(“A1”).putValue("&=table.name w1");
w.getCells().get(“B1”).putValue("&=table.name w2"); //name 和 w2是有空格的

Map<String,String> m = new HashMap();
m.put(“name w1”, “a1”);
m.put(“name w2”, “a2”);

List ls = new ArrayList();
ls.put(m);
wb.setDataSource(“table”, ls);

report.process();

以上代码用map无数据填充,因为标签中有空格,用pojo类又无法实现。有什么解决方案?

@huawei,

感谢您的代码段。

我认为你应该简单地将数据转换为数组列表,Aspose.Cells将正常工作。 有关如何使用不同数据源(数据表,通用列表等)的文档,请参阅“智能标记”功能。
https://docs.aspose.com/display/cellsjava/Using+Smart+Markers

给的连接中没有看到标签中包含空格的处理方式?
$=table.name a1。
name和a1是有空格存在的。看到你们的处理方式是封装成pojo对象,放到list中,但因name 和 a1包含空格,无法封装成pojo的成员,有其他处理方案吗。

@huawei,

1)
w.getCells().get(“A1”).putValue(“&= table.name w1”);
w.getCells().get(“B1”).putValue(“&= table.name w2”);

smark标记字段应在“[]”中指定。 例如:“&= table。[name w1]“。

2)请实现“ICellsDataTable”作为数据源。 我担心我们不支持地图对象。 我们认为用户更好地实现了ICellsDataTable接口,可以轻松地与地图中的数据接口,并且界面可以提供更大的灵活性。 不同的用户程序有太多的自定义对象,我担心我们不能单独支持所有这些对象。