仅显示名称而不显示表数据c#的数据集

本文关键字:显示 数据 数据集 | 更新日期: 2023-09-27 17:59:48

在我的c#代码中,我试图用我的数据创建一个excel报告。我试着用某种方法给出我的数据头。所以我调用了我的存储过程,添加了我的数据集表,现在我想添加其中一个表作为数据表中的一行。它返回我的数据集所返回的一行。我希望它看起来如何的例子:

Title
93.76%  00:23:59    00:33:41    95.56%  00:57:40    94.66%

看起来很简单,这就是为什么我选择数据表而不是数据集,因为我只限于数据集表的格式。如何让我的数据表显示数据而不是名称?下面提供的代码。我也愿意就如何实现这一目标提出任何其他建议。如果您需要更多信息或代码,请随时询问。

var dt = new DataTable("IncomingProductReport");
dt.Columns.Add("A Line Down Time");
SqlCommand cmd = new SqlCommand("L_GetTimeTotals", conn);
cmd.Parameters.Add("@startTime", SqlDbType.DateTime, 30).Value = RadDateTimePicker2.SelectedDate;
cmd.Parameters.Add("@endTime", SqlDbType.DateTime, 30).Value = RadDateTimePicker3.SelectedDate;
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
var ds = new DataSet();
ds.Tables.Add("IncomingProductTotals");
ds.Tables.Add("IncomingProductTotalsA");
ds.Tables.Add("IncomingProductTotalsB");
ds.Tables.Add("IncomingProductTotals1");
ds.Tables.Add("IncomingProductTotalsA1");
ds.Tables.Add("IncomingProductTotalsB1");
da.TableMappings.Add("Table", "IncomingProductTotals");
da.TableMappings.Add("Table1", "IncomingProductTotalsA");
da.TableMappings.Add("Table2", "IncomingProductTotalsB");
da.TableMappings.Add("Table3", "IncomingProductTotals1");
da.TableMappings.Add("Table4", "IncomingProductTotalsA1");
da.TableMappings.Add("Table5", "IncomingProductTotalsB1");
da.Fill(ds);
ds.Tables.Remove("IncomingProductTotalsA");
ds.Tables.Remove("IncomingProductTotalsB");
ds.Tables.Remove("IncomingProductTotalsA1");
ds.Tables.Remove("IncomingProductTotalsB1");
dt.Rows.Add("Line 1 Totals");
dt.Rows.Add(ds.Tables["IncomingProductTotals"]);
dt.Rows.Add("Line 2 Totals");
dt.Rows.Add(ds.Tables["IncomingProductTotals1"]);
ExcelHelper.ToExcel(dt, "DownTimeTotals.xls", Page.Response);

仅显示名称而不显示表数据c#的数据集

dt.Columns.Add("A Line Down Time");

您正在向DataTable中添加列。你没有说什么类型,所以它将是默认类型,这就是字符串。

dt.Rows.Add(ds.Tables["IncomingProductTotals"]);

然后尝试将一个完整的DataTable放入需要字符串的Column的单元格中。要从给定对象中获取字符串,系统将调用DataTable的ToString方法。ToString被实现为返回DataTable的Tablename。

您需要将DataTables中的数据放入dt DataTable,而不是DataTables本身。这毫无意义。如果您真的想将DataTable放入DataTable中,那么列的允许类型只在这里描述过一次。