在上一篇博文【C#读取CSV文件的方法】中,我介绍了读取csv文件中数据的方法,现在我来介绍下将datatable中的数据导出到csv文件中的方法,废话不
多说了,deme程序的代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("test1");
dt.Columns.Add("test2");
dt.Columns.Add("test3");
dt.Columns.Add("test4");
dt.Columns.Add("test5");
for (int i = 0; i < 6; i++)
{
dt.Rows.Add();
dt.Rows[i][0] = "CN"+i.ToString();
dt.Rows[i][1] = "EN"+i.ToString();
dt.Rows[i][2] = "JN"+i.ToString();
dt.Rows[i][3] = "HK"+i.ToString();
dt.Rows[i][4] = "TW"+i.ToString();
}
ExportDataGridToCSV(dt);
}
/// <summary>
/// Export the data from datatable to CSV file
/// </summary>
/// <param name="grid"></param>
public void ExportDataGridToCSV(DataTable dt)
{
string strFile = "";
string path = "";
//File info initialization
strFile = "test";
strFile = strFile + DateTime.Now.ToString("yyyyMMddhhmmss");
strFile = strFile + ".csv";
path = Server.MapPath(strFile);
System.IO.FileStream fs = new FileStream(path, System.IO.FileMode.Create, System.IO.FileAccess.Write);
StreamWriter sw = new StreamWriter(fs, new System.Text.UnicodeEncoding());
//Tabel header
for (int i = 0; i < dt.Columns.Count; i++)
{
sw.Write(dt.Columns[i].ColumnName);
sw.Write("\t");
}
sw.WriteLine("");
//Table body
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
sw.Write(DelQuota(dt.Rows[i][j].ToString()));
sw.Write("\t");
}
sw.WriteLine("");
}
sw.Flush();
sw.Close();
DownLoadFile(path);
}
private bool DownLoadFile(string _FileName)
{
try
{
System.IO.FileStream fs = System.IO.File.OpenRead(_FileName);
byte[] FileData = new byte[fs.Length];
fs.Read(FileData, 0, (int)fs.Length);
Response.Clear();
Response.AddHeader("Content-Type", "application/notepad");
string FileName = System.Web.HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(_FileName));
Response.AddHeader("Content-Disposition", "inline;filename=" + System.Convert.ToChar(34) + FileName + System.Convert.ToChar(34));
Response.AddHeader("Content-Length", fs.Length.ToString());
Response.BinaryWrite(FileData);
fs.Close();
System.IO.File.Delete(_FileName);
Response.Flush();
Response.End();
return true;
}
catch (Exception ex)
{
ex.Message.ToString();
return false;
}
}
/// <summary>
/// Delete special symbol
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string DelQuota(string str)
{
string result = str;
string[] strQuota ={ "~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "`", ";", "'", ",", ".", "/", ":", "/,", "<", ">", "?" };
for (int i = 0; i < strQuota.Length; i++)
{
if (result.IndexOf(strQuota[i]) > -1)
result = result.Replace(strQuota[i], "");
}
return result;
}
分享到:
相关推荐
winform中将Datatable数据导出到PDF文件中,该项目包含了例子,能使个人能更加了解winform将datatable数据导出到PDF的整个流程,本资源也可拿来即用,只需要稍加修改即可。
winform中将Datatable数据导出到Excel表格中,该项目包含了例子,能使个人能更加了解winform将datatable数据导出到excel的整个流程,本资源也可拿来即用,只需要稍加修改即可。
自己看吧,非常有用,B.S,C.S的都可以借鉴借鉴的。。。。。
导出数据到CSV文件或者HTML文件。通过datatable生成数据,从datatable导出数据到CSV文件或者HTML文件。
datatable、datagridview导出为csv,高效快速,比导出为excel效率高,同时由能用excel操作
DataGrid显示数据,将DataTable数据导出到EXCEL文件 c#源代码!!!
由于工作需要,需要将一些数据保存到规定...首先,拷贝标准库(空库)到指定的要导出的文件夹,然后读取这个拷贝后的文件到dt1,通过循环把dt的数据添加到dt1中,更新dt1。 虽然我也觉得这个方法不太好,但是有时还不错
C# 实现DataTable数据的excel导出方法简单包装,行转列的实现
c# DataTable,DataSet导出到xls,access文件 不需要有预置xls文件模板,如果没有该文件,自动创建
将DataTable中数据写入到CSV文件中,将CSV文件的数据读取到DataTable中,C# 编写通用类。
将DataTable数据源导出到Html文件
C# datatable直接导出数据到Excel,(数据量百万级只需3秒)
使用C#实现了将多个datatable中的内容导出到 一个excel文件的不同的sheet页,每个sheet页对应一个...代码中的datatable是程序中添加的内容,从数据库中导出数据到excel的话只需要将数据表内容写入datatable即可。
在.net项目中运用C#将DataTable转化为CSV文件,现在提供一个较为通用的方法,具体代码如下: /// /// 将DataTable转换成CSV文件 /// /// <param name=dt>DataTable /// <param name=filePath
C#将list和DataTable中的数据导出到Excel的功能
根据Microsoft.Office.Interop.Excel,优化大数据量快速导出到 Excel 的方法
根据DataTable中数据行记录改变的状态,动态生成SQL语句, 如果一个表中字段上百个,在只改了其中两三个字段时,则生成的SQL语句就只会含有这修改内容的字段, 有了这一个函数,从此彻底告别手动写SQL语句更新到...
C#从datatable到listview的方法
bootstrap table导出表格支持中文csv、pdf、txt等
举例讲解了数据控件DataTable的数据记录操作,当还没有做datatable.acceptChangs()操作之前对数据行发生增删改时,可取得修改前后的值。具体可看文档中的距离代码。可以直接新建Windows控制项目进行代码运行。