严重救命.. DataSet 导出数据到 txt .. 如题 ...vs2003 + sql2000 ... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <summary> /// dataset to txt /// </summary> /// <param name="ds"></param> public void ExportToTxt(DataSet ds) { if(ds.Tables.Count!=0) { string tempFileName = null; tempFileName = GetTempFileName(); FileInfo file = new FileInfo(TXTPATH+tempFileName+TXTPOSTFIX); StreamWriter textFile = null; try { textFile = file.CreateText(); } catch { System.Windows.Forms.MessageBox.Show("error "+TXTPATH+tempFileName+TXTPOSTFIX); return; } for(int totaltable = 0;totaltable<ds.Tables.Count;totaltable++) { int row = ds.Tables[totaltable].Rows.Count; int column = ds.Tables[totaltable].Columns.Count; int totalLength = 0; int titleLength = 0; int[] columnLength = new int[column]; for(int i = 0;i<column;i++) { columnLength[i] = ds.Tables[totaltable].Columns[i].ColumnName.ToString().Length; } for(int i = 0;i<row;i++) { for(int j = 0;j<column;j++) { if(ds.Tables[totaltable].Rows[i][j].ToString().Length>columnLength[j]) { columnLength[j]=ds.Tables[totaltable].Rows[i][j].ToString().Length; } } } for(int i = 0;i<column;i++) { totalLength = totalLength+columnLength[i]+DATADISTANCE; } totalLength = totalLength+2*TABDISTANCE-DATADISTANCE; titleLength = ds.Tables[totaltable].TableName.ToString().Length+"表的数据下".Length*2; for(int i = 0;i<(int)((totalLength-titleLength)/2);i++) { textFile.Write(' '); } textFile.Write(ds.Tables[totaltable].TableName+"表的数据下"); textFile.WriteLine(); for(int i = 0;i<totalLength;i++) { textFile.Write('*'); } textFile.WriteLine(); textFile.Write("\t"); for(int i = 0;i<column;i++) { textFile.Write(ds.Tables[totaltable].Columns[i].ColumnName.ToString()); for(int k = 0;k<columnLength[i]-ds.Tables[totaltable].Columns[i].ColumnName.ToString().Length+DATADISTANCE;k++) { textFile.Write(' '); } } textFile.WriteLine(); for(int i = 0;i<totalLength;i++) { textFile.Write('-'); } textFile.WriteLine(); textFile.Write("\t"); for(int i = 0;i<row;i++) { for(int j = 0;j<column;j++) { textFile.Write(ds.Tables[totaltable].Rows[i][j].ToString()); for(int k = 0;k<columnLength[j]-ds.Tables[totaltable].Rows[i][j].ToString().Length+DATADISTANCE;k++) { textFile.Write(' '); } } textFile.WriteLine(); textFile.Write("\t"); } textFile.WriteLine(); for(int i = 0;i<totalLength;i++) { textFile.Write('-'); } textFile.WriteLine(); textFile.WriteLine(); textFile.WriteLine(); } textFile.Close(); System.Windows.Forms.MessageBox.Show("数据以保存到"+" "+file.FullName); } else { System.Windows.Forms.MessageBox.Show("No Data"); } } public string GetTempFileName() { return DateTime.Now.ToString("yyyyMMddhhmmssfff"); } to: dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!) 你创建的txt文件是固定地址的,如果是想自己选择路径的可以吗 ? to: dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!) 可以把调完后的代码发一下吗... 先谢谢了 结贴了 ...当我还是想知道呀 ...to: dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!) 可以把调完后的代码发一下吗... 先谢谢了我是在客户端访问服务器,然后导出txt到本地 ... 最近网站经常出现找不到服务器的错误 怎样做收件箱和发件箱程序? C#如何把上传的数据写成xml文档 .Net 企业库 RAS加密app.config文件后 出现的问题 怎么用C#实现附带附件的消息传送? 一个窗口,显示到MDI主窗口中,窗体和窗体中的控件都变的大了一点? sendkind 引用那个命名空间 我增加了一条语句,为什么添加不进去sqlserver表里面了~ 求助大神:web中的activex控件不能从ftp服务器下载数据 请教,这是什么问题,如图 在WinForm中可以连接SQLServer6.5吗? 急 如何把数据库里面的数据调出来 做为坐标用g.DrawLine()画成曲线
/// dataset to txt
/// </summary>
/// <param name="ds"></param>
public void ExportToTxt(DataSet ds)
{ if(ds.Tables.Count!=0)
{
string tempFileName = null;
tempFileName = GetTempFileName();
FileInfo file = new FileInfo(TXTPATH+tempFileName+TXTPOSTFIX);
StreamWriter textFile = null;
try
{
textFile = file.CreateText();
}
catch
{
System.Windows.Forms.MessageBox.Show("error "+TXTPATH+tempFileName+TXTPOSTFIX);
return;
} for(int totaltable = 0;totaltable<ds.Tables.Count;totaltable++)
{
int row = ds.Tables[totaltable].Rows.Count; int column = ds.Tables[totaltable].Columns.Count;
int totalLength = 0;
int titleLength = 0;
int[] columnLength = new int[column];
for(int i = 0;i<column;i++)
{
columnLength[i] = ds.Tables[totaltable].Columns[i].ColumnName.ToString().Length;
}
for(int i = 0;i<row;i++)
{
for(int j = 0;j<column;j++)
{
if(ds.Tables[totaltable].Rows[i][j].ToString().Length>columnLength[j])
{
columnLength[j]=ds.Tables[totaltable].Rows[i][j].ToString().Length;
}
}
}
for(int i = 0;i<column;i++)
{
totalLength = totalLength+columnLength[i]+DATADISTANCE;
}
totalLength = totalLength+2*TABDISTANCE-DATADISTANCE;
titleLength = ds.Tables[totaltable].TableName.ToString().Length+"表的数据下".Length*2; for(int i = 0;i<(int)((totalLength-titleLength)/2);i++)
{
textFile.Write(' ');
}
textFile.Write(ds.Tables[totaltable].TableName+"表的数据下");
textFile.WriteLine();
for(int i = 0;i<totalLength;i++)
{
textFile.Write('*');
}
textFile.WriteLine();
textFile.Write("\t"); for(int i = 0;i<column;i++)
{
textFile.Write(ds.Tables[totaltable].Columns[i].ColumnName.ToString());
for(int k = 0;k<columnLength[i]-ds.Tables[totaltable].Columns[i].ColumnName.ToString().Length+DATADISTANCE;k++)
{
textFile.Write(' ');
}
}
textFile.WriteLine();
for(int i = 0;i<totalLength;i++)
{
textFile.Write('-');
}
textFile.WriteLine();
textFile.Write("\t");
for(int i = 0;i<row;i++)
{
for(int j = 0;j<column;j++)
{
textFile.Write(ds.Tables[totaltable].Rows[i][j].ToString());
for(int k = 0;k<columnLength[j]-ds.Tables[totaltable].Rows[i][j].ToString().Length+DATADISTANCE;k++)
{
textFile.Write(' ');
}
}
textFile.WriteLine();
textFile.Write("\t");
}
textFile.WriteLine();
for(int i = 0;i<totalLength;i++)
{
textFile.Write('-');
}
textFile.WriteLine();
textFile.WriteLine();
textFile.WriteLine();
} textFile.Close();
System.Windows.Forms.MessageBox.Show("数据以保存到"+" "+file.FullName);
}
else
{
System.Windows.Forms.MessageBox.Show("No Data");
}
} public string GetTempFileName()
{
return DateTime.Now.ToString("yyyyMMddhhmmssfff");
}
当我还是想知道呀 ...to: dlzhangln(才高七八斗,学富五六车,改行三四次,月入一两千!) 可以把调完后的代码发一下吗... 先谢谢了我是在客户端访问服务器,然后导出txt到本地 ...