本帖最后由 kbw.qin 于 2021-6-3 17:41 编辑
我这边现状是:下面这个代码 1 里的 settings.LocateDataSource = args => args.ReportPreview(app); 返回的是代码块 2 里返回的 Datatable
然后导出的 Excel(参照附件,有修改) 里的数值项目,全部以文字项目储存,无法进行 SUM 之类的算术运算。
请问下,这个是我代码有问题,还是就是这样子的?
- return app.UseReporting(settings =>
- {
- settings.UseCustomStore(template => new PageReport().ConvertKbwReport(Path.Combine(configuration.GetReportTemplateStoragePath(), template)));
- settings.UseCompression = true;
- settings.LocateDataSource = args => args.ReportPreview(app);
- });
复制代码
- var reader = conn.ExecuteReader(finalSql, queryParam);
- var table = new DataTable();
- while (reader.Read())
- {
- if (table.Columns.Count == 0)
- {
- for (var i = 0; i < reader.FieldCount; i++)
- {
- table.Columns.Add(reader.GetName(i));
- }
- }
- var row = new object[reader.FieldCount];
- for (var i = 0; i < reader.FieldCount; i++)
- {
- if (reader.IsDBNull(i))
- {
- row[i] = string.Empty;
- }
- else
- {
- row[i] = reader.GetValue(i);
- }
- }
- table.Rows.Add(row);
- }
- return table;
复制代码
|