/// <summary>
///直接用表名导出数据到同名TXT文件
/// </summary>
/// <param name="ProjectID">项目号也是表名,注意格式为[表名],如[123]</param>
/// <param name="TXTPATH">导出TXT文件目录,格式如 @"G:/";</param>
public void ToTxt(string ProjectID, string TXTPATH)
{
DataSet ds= GetData(ProjectID);
ExportToTxt(ds, TXTPATH, ProjectID);
}
/// <summary>
/// 获得数据集Dataset
/// </summary>
/// <param name="table">表名</param>
/// <returns>Dataset</returns>
public DataSet GetData(string table)
{
try
{
string strSql = "select * from " + table + " ";
SqlConnection objConn = new SqlConnection(ConnectionString);
objConn.Open();
SqlDataAdapter daPoint = new SqlDataAdapter(strSql, objConn);
DataSet dsYC = new DataSet("YC");
daPoint.Fill(dsYC, "Test");
return dsYC;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
/// <summary>
/// 把数据导出到txt文件
/// </summary>
/// <param name="ds">数据集Dataset</param>
///<param name="TXTPATH">txt文件目录</param>
///<param name="ProjectID">以项目名作为文件名</param>
public void ExportToTxt(DataSet ds, string TXTPATH,string ProjectID )
{
string TXTPOSTFIX = ".txt";
if (ds.Tables.Count != 0)
{
//创建一个.txt文件,文件名用项目名
FileInfo file = new FileInfo("" + TXTPATH + ProjectID + TXTPOSTFIX + "");
StreamWriter textFile = null;
try
{
textFile = file.CreateText();
}
catch
{
System.Web.HttpContext.Current.Response.Write("系统找不到指定目录下的文件: " + TXTPATH + ProjectID + TXTPOSTFIX + " ");
return;
}
//把Dataset中的数据写入.txt文件中
for (int totaltable = 0; totaltable < ds.Tables.Count; totaltable++)
{
//统计dataset中当前表的行数
int row = ds.Tables[totaltable].Rows.Count;
//统计dataset中当前表的列数
int column = ds.Tables[totaltable].Columns.Count;
//用于统计当前表中每列记录中字符数最长的字符串的长度之和
int totalLength = 0;
//把dataset中当前表的数据写入.txt文件中
for (int i = 0; i < row; i++)
{
for (int j = 0; j < column; j++)
{
textFile.Write(ds.Tables[totaltable].Rows[i][j].ToString());
}
textFile.WriteLine();
}
textFile.WriteLine();
}
//关闭当前的StreamWriter流
textFile.Close();
System.Web.HttpContext.Current.Response.Write("数据文件已保存到" + " " + file.FullName);
}
else
{
System.Web.HttpContext.Current.Response.Write("No Data");
}
}