【发布时间】:2014-03-26 08:13:34
【问题描述】:
我正在下载数据列表,但有些我想忽略某些列,有什么办法可以删除它们,这就是我的数据库的外观:
ID Name Sname MobileUsage NoBrought
1 test test 12mb 1
2 test1 test1 23mb 8
3 test2 test2 20mb 2
这是我下载 .csv 文件时得到的结果
ID Name Sname MobileUsage NoBrought
1 test 12mb
2 test1 23mb
3 test2 20mb
有什么办法可以删除我不使用的 Sname 和 NoBrought,我的输出应该是
ID Name MobileUsage
1 test 12mb
2 test1 23mb
3 test2 20mb
这就是我所做的,我假设这个程序必须寻找列标题,例如Sname & NoBrought,删除整列并左移。此事件在用户单击按钮时发生,因此删除/编辑应在单击下载按钮时发生。
protected void Page_Load(object sender, EventArgs e)
{
CsvExport<l> csv = new CsvExport<l>(getList());
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=test.csv");
Response.ContentType = "text/plain";
Response.Output.Write(csv.Export());
Response.End();
}
public List<l> getList()
{
List<l> n = new List<l>();
List<string> nl = new List<string>();
SqlConnection conn = new SqlConnection(Connection goes here...);
SqlCommand command = new SqlCommand("select ID, Name, MobileUsage FROM TableName");
conn.Open();
SqlDataReadData ReadData = command.ExecuteReader();
while (ReadData.Read())
{
l data = new l();
data.ID = ReadData["ID"].ToString();
data.Name = ReadData["Name"].ToString();
etc...
n.Add(data);
}
conn.Close();
return n;
}
【问题讨论】:
-
好的,解释一下你写的代码有什么问题。
-
为什么不首先获取您想要的列?
SqlCommand command = new SqlCommand("select ID, Name FROM TableName"); -
@tnw 我没有恢复任何错误,我在问如何从 .csv 文件中删除特定列
-
您使用的是什么“ExecuteReadData”?我找不到任何文档。使用普通的 ADO.NET,您不应该在 SqlCommand 中获得任何您没有要求的列。
-
@Tobberoth 我已经更新了我的问题以明确说明
标签: c# csv export-to-csv