导出csv数据
来源:互联网 发布:上海公务员备考知乎 编辑:程序博客网 时间:2024/06/16 17:53
# region [导出数据功能]把数据接收到dataset中,转换为csv文件
public void FileStreamCSV(string csvString)
{
FileStream file = new FileStream("D:/CSVFile", FileMode.Open);
StreamReader sr = new StreamReader(file);
string line = sr.ReadLine();
if (line != null)
{
line = sr.ReadLine();
char[] charArray = new char[] { ',' };
string[] stringArray;
stringArray = line.Split(charArray);
string fileStr = Path.GetFileNameWithoutExtension("D:/CSVFile" + ".csv");
FileStream Mfile = new FileStream(fileStr, FileMode.Create);
StreamWriter sw = new StreamWriter(Mfile);
sw.WriteLine(string.Join(",", stringArray));
sw.Flush();
sw.Close();
}
}
/// <summary>
/// 将DataSet导出成CSV格式
/// </summary>
/// <param name="ds">DataSet</param>
/// <returns>CSV字符串数据</returns>
public static string ExportCSV(DataSet ds)
{
string data = "";
//data = ds.DataSetName + "\n";
foreach (DataTable tb in ds.Tables)
{
//写出列名
foreach (DataColumn column in tb.Columns)
{
data += column.ColumnName + ",";
}
data += "\n";
//写出数据
foreach (DataRow row in tb.Rows)
{
foreach (DataColumn column in tb.Columns)
{
data += row[column].ToString() + ",";
}
data += "\n";
}
data += "\n";
}
return data;
}
public DataSet GetMovieCategorys()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt = GetTableByList(AllUser);
ds.Tables.Add(dt);
return ds;
}
public DataTable GetTableByList(ArrayList list)
{
if (list.Count <= 0)
{
return new DataTable();
}
Type t = list[0].GetType();
DataTable dt = new DataTable(t.Name);
dt.Columns.Add("用户账号");
dt.Columns.Add("用户名称");
dt.Columns.Add("性别");
dt.Columns.Add("Email");
dt.Columns.Add("联系方式(一)");
dt.Columns.Add("联系方式(二)");
dt.Columns.Add("用户创建时间");
DataRow myRow;
//PropertyInfo[] pi = t.GetProperties();
for (int i = 0; i < list.Count; i++)
{
obj = (EDBC.Role.Employee)list[i];
myRow = dt.NewRow();
myRow[0] = obj.EmplID;
myRow[1] = obj.EmplName;
myRow[2] = obj.EmplSex;
myRow[3] = obj.EmplEmail;
myRow[4] = obj.EmplMobile;
myRow[5] = obj.EmplTel;
//myRow[4] = "(" + obj.SMS_SuccessCount.ToString() + "/" + obj.SMS_Count.ToString() + ")";
myRow[6] = obj.CreateDateTime;
dt.Rows.Add(myRow);
}
return dt;
}
# endregion
# region 导出按钮的点击事件
/// <summary>
/// 导出按钮的点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void FileCSV_Click(object sender, EventArgs e)
{
AllUser = themgrLog.FindMyEmployee_List(sqlconditionUser);
DataTable table = GetTableByList(AllUser);
//string TableCsv = ExportCSV(GetMovieCategorys());
if (table.Rows.Count >= 1)
{
string data = ExportCSV(GetMovieCategorys());
string Filetime = DateTime.Now.ToString("yyyyMMddhhmmss");
string temp = string.Format("attachment;filename={0}", "用户列表" + Filetime + ".csv");
Response.ClearHeaders();
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = Encoding.GetEncoding("gb2312");
Response.AppendHeader("Content-disposition", temp);
Response.Write(data);
Response.Flush();
Response.Close();
}
else
{
//Response.Write("<script>alert('没有数据!')</script>");
StringBuilder sb = new StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("art.dialog({");
sb.Append("title: '提示信息:',");
sb.Append("lock:true,");
sb.Append("resize:false,");
sb.Append("width:'200px',");
sb.Append("height:'80px',");
sb.Append("content:'没有数据!'");
sb.Append("});");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "", sb.ToString());
}
}
# endregion
public void FileStreamCSV(string csvString)
{
FileStream file = new FileStream("D:/CSVFile", FileMode.Open);
StreamReader sr = new StreamReader(file);
string line = sr.ReadLine();
if (line != null)
{
line = sr.ReadLine();
char[] charArray = new char[] { ',' };
string[] stringArray;
stringArray = line.Split(charArray);
string fileStr = Path.GetFileNameWithoutExtension("D:/CSVFile" + ".csv");
FileStream Mfile = new FileStream(fileStr, FileMode.Create);
StreamWriter sw = new StreamWriter(Mfile);
sw.WriteLine(string.Join(",", stringArray));
sw.Flush();
sw.Close();
}
}
/// <summary>
/// 将DataSet导出成CSV格式
/// </summary>
/// <param name="ds">DataSet</param>
/// <returns>CSV字符串数据</returns>
public static string ExportCSV(DataSet ds)
{
string data = "";
//data = ds.DataSetName + "\n";
foreach (DataTable tb in ds.Tables)
{
//写出列名
foreach (DataColumn column in tb.Columns)
{
data += column.ColumnName + ",";
}
data += "\n";
//写出数据
foreach (DataRow row in tb.Rows)
{
foreach (DataColumn column in tb.Columns)
{
data += row[column].ToString() + ",";
}
data += "\n";
}
data += "\n";
}
return data;
}
public DataSet GetMovieCategorys()
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt = GetTableByList(AllUser);
ds.Tables.Add(dt);
return ds;
}
public DataTable GetTableByList(ArrayList list)
{
if (list.Count <= 0)
{
return new DataTable();
}
Type t = list[0].GetType();
DataTable dt = new DataTable(t.Name);
dt.Columns.Add("用户账号");
dt.Columns.Add("用户名称");
dt.Columns.Add("性别");
dt.Columns.Add("Email");
dt.Columns.Add("联系方式(一)");
dt.Columns.Add("联系方式(二)");
dt.Columns.Add("用户创建时间");
DataRow myRow;
//PropertyInfo[] pi = t.GetProperties();
for (int i = 0; i < list.Count; i++)
{
obj = (EDBC.Role.Employee)list[i];
myRow = dt.NewRow();
myRow[0] = obj.EmplID;
myRow[1] = obj.EmplName;
myRow[2] = obj.EmplSex;
myRow[3] = obj.EmplEmail;
myRow[4] = obj.EmplMobile;
myRow[5] = obj.EmplTel;
//myRow[4] = "(" + obj.SMS_SuccessCount.ToString() + "/" + obj.SMS_Count.ToString() + ")";
myRow[6] = obj.CreateDateTime;
dt.Rows.Add(myRow);
}
return dt;
}
# endregion
# region 导出按钮的点击事件
/// <summary>
/// 导出按钮的点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void FileCSV_Click(object sender, EventArgs e)
{
AllUser = themgrLog.FindMyEmployee_List(sqlconditionUser);
DataTable table = GetTableByList(AllUser);
//string TableCsv = ExportCSV(GetMovieCategorys());
if (table.Rows.Count >= 1)
{
string data = ExportCSV(GetMovieCategorys());
string Filetime = DateTime.Now.ToString("yyyyMMddhhmmss");
string temp = string.Format("attachment;filename={0}", "用户列表" + Filetime + ".csv");
Response.ClearHeaders();
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = Encoding.GetEncoding("gb2312");
Response.AppendHeader("Content-disposition", temp);
Response.Write(data);
Response.Flush();
Response.Close();
}
else
{
//Response.Write("<script>alert('没有数据!')</script>");
StringBuilder sb = new StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("art.dialog({");
sb.Append("title: '提示信息:',");
sb.Append("lock:true,");
sb.Append("resize:false,");
sb.Append("width:'200px',");
sb.Append("height:'80px',");
sb.Append("content:'没有数据!'");
sb.Append("});");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "", sb.ToString());
}
}
# endregion
0 0
- CSV 数据导出保存
- 导出csv数据
- CSV文件数据导出
- CSV导出大量数据
- csv数据的导出
- mysql 导出 csv数据命令
- 导出数据到CSV文件
- 页面数据导出CSV格式文件
- MySQL CSV 数据导入导出
- PHP中数据导出csv
- php导出csv数据代码
- php导出大数据csv
- csv 导出数据到csv或者xls文件
- 关于DBGRIDEH导出数据到CSV
- 关于DBGRIDEH导出数据到CSV
- 关于DBGRIDEH导出数据到CSV
- GlacialList数据导入导出(txt与CSV)
- 百万数据已CSV,Txt格式导出
- Linux分布式版本控制工具(git)
- GPIO及中断API函数
- [转]Java中ArrayList和LinkedList区别
- QT子线程与主线程的信号槽通信
- gcc编译选项--转
- 导出csv数据
- 【python】获取指定日期的后(前)一(n)天
- 各种排序的比较
- Java SE 学习 第二讲
- Android开发之如何监听让服务不被杀死(service+broadcast)
- caxa cad电子图版2016 r1官方版
- Ado.Net小练习01(数据库文件导出,导入)
- iOS开发真机测试could not find developer disk image的解决
- Nginx:域名转发(CentOS7)