我正在使用DynamicJasper
来生成报告,但是我在这里面临的唯一问题是您需要传递一组对象作为数据源。
但就我而言,我需要传递动态列和数据,例如:
检查此链接http://dynamicjasper.com/documentation-examples/getting-started/:
在“ 创建简单的报告”部分下,他们传递了Product
作为数据源的列表:
FastReportBuilder drb = new FastReportBuilder();
DynamicReport dr = drb.addColumn("State", "state", String.class.getName(),30)
.addColumn("Branch", "branch", String.class.getName(),30)
.addColumn("Product Line", "productLine", String.class.getName(),50)
.addColumn("Item", "item", String.class.getName(),50)
.addColumn("Item Code", "id", Long.class.getName(),30,true)
.addColumn("Quantity", "quantity", Long.class.getName(),60,true)
.addColumn("Amount", "amount", Float.class.getName(),70,true)
.addGroups(2)
.setTitle("November 2006 sales report")
.setSubtitle("This report was generated at " + new Date())
.setPrintBackgroundOnOddRows(true)
.setUseFullPageWidth(true)
.build();
JRDataSource ds = new JRBeanCollectionDataSource(TestRepositoryProducts.getDummyCollection());// here they give list of Products
JasperPrint jp = DynamicJasperHelper.generateJasperPrint(dr, new ClassicLayoutManager(), ds);
JasperViewer.viewReport(jp);
在此示例中,他们使用了Product
实体列表,该实体具有state
,branch
等属性,因此可以匹配给定的列。
< / p>
但是对于我来说,我要获取动态数据,它不是对象列表,而是数据数组(字符串,整数,日期等)。
我的问题是:是否可以将自定义列表传递给JRBeanCollectionDataSource
而不是预定义对象列表?
答案 0 :(得分:0)
解决方案是使用import sys
import random
import datetime as dt
import numpy as np
import torch
torch.manual_seed(42)
torch.cuda.manual_seed(42)
np.random.seed(42)
random.seed(42)
torch.backends.cudnn.deterministic = True
features = torch.randn(2, 5)
# Print stuff.
fnp = features.view(-1).numpy()
print("Time: {}".format(dt.datetime.now()))
for el in fnp:
print("{:.20f}".format(el))
print("Python: {}".format(sys.version))
print("Numpy: {}".format(np.__version__))
print("Pytorch: {}".format(torch.__version__))
而不是JRMapCollectionDataSource
这样,我可以像这样传递数据:
JRBeanCollectionDataSource