在MVC中写入动态CSV文件 [英] Write dynamic csv file in mvc

查看:56
本文介绍了在MVC中写入动态CSV文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,正在忙着学习mvc,并想生成一个动态.csv文件并将其输出到响应流.有人提出想法吗?

谢谢,
Morgs

Hi Guys, busy learning mvc and would like to generate a dynamic .csv file and output it to the response stream. Anyone to give ideas?

Thanks,
Morgs

推荐答案

此链接可能会在逻辑上帮助您生成.csv文件,但您必须将其放入您的mvc模式中.


受保护的void ExportToCSV(object sender,EventArgs e)
{
//从数据库获取数据到datatable
字符串strQuery =选择客户ID,联系人姓名,城市,邮政编码" +
来自客户";
SqlCommand cmd =新的SqlCommand(strQuery);
DataTable dt = GetData(cmd);

Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition",
附件;文件名= DataTable.csv");
Response.Charset =";
Response.ContentType =应用程序/文本";


StringBuilder sb = new StringBuilder();
for(int k = 0; k< dt.Columns.Count; k ++)
{
//添加分隔符
sb.Append(dt.Columns [k] .ColumnName +'','');
}
//追加新行
sb.Append("\ r \ n");
for(int i = 0; i< dt.Rows.Count; i ++)
{
for(int k = 0; k< dt.Columns.Count; k ++)
{
//添加分隔符
sb.Append(dt.Rows [i] [k] .ToString().Replace(,",;")+'','');
}
//追加新行
sb.Append("\ r \ n");
}
Response.Output.Write(sb.ToString());
Response.Flush();
Response.End();
}
This link may help you in the logic to generate .csv file but you have to fit it into your mvc pattern.


protected void ExportToCSV(object sender, EventArgs e)
{
//Get the data from database into datatable
string strQuery = "select CustomerID, ContactName, City, PostalCode" +
" from customers";
SqlCommand cmd = new SqlCommand(strQuery);
DataTable dt = GetData(cmd);

Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition",
"attachment;filename=DataTable.csv");
Response.Charset = "";
Response.ContentType = "application/text";


StringBuilder sb = new StringBuilder();
for (int k = 0; k < dt.Columns.Count; k++)
{
//add separator
sb.Append(dt.Columns[k].ColumnName + '','');
}
//append new line
sb.Append("\r\n");
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int k = 0; k < dt.Columns.Count; k++)
{
//add separator
sb.Append(dt.Rows[i][k].ToString().Replace(",", ";") + '','');
}
//append new line
sb.Append("\r\n");
}
Response.Output.Write(sb.ToString());
Response.Flush();
Response.End();
}


这篇关于在MVC中写入动态CSV文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆