C#后端查询数据后直接输出到txt文件中
[WebMethod]
public static void ExportAlarmAnalyseData(string column1, List<string> column2)
{
string sqlStr = "";
string sql = "";
string rows = "";
string jsonString = "";
foreach (var column in column2)
{
string query = string.Format("select columns" +
" from schema.function('{0}','{1}','','','','','','','','') t", column1, column);
if (sqlStr == "")
{
sqlStr = query;
}
else
{
sqlStr += " union all " + query;
}
}
sql = string.Format(" select row_number() over(order by columns) rnum,t.* from ( {0} ) t ", sqlStr);
//获取数据
DataTable dt = new DataTable();
var connectionString = ConfigurationManager.AppSettings["datasource"];
using (NpgsqlConnection connection = new NpgsqlConnection(connectionString))
{
connection.Open();
NpgsqlCommand command = new NpgsqlCommand(sql, connection);
NpgsqlDataAdapter adapter = new NpgsqlDataAdapter(command);
adapter.Fill(dt);
connection.Close();
}
//创建txt文件
string fileName = @"C:\ExportedData.txt";
using (StreamWriter writer = new StreamWriter(fileName))
{
foreach (DataColumn column in dt.Columns)
{
writer.Write(column.ColumnName + "\t");
}
writer.WriteLine();
foreach (DataRow row in dt.Rows)
{
for (int i = 0; i < dt.Columns.Count; i++)
{
writer.Write(row[i].ToString().Replace("\t", String.Empty).Replace("\r", String.Empty).Replace("\n", String.Empty) + "\t");
}
writer.WriteLine();
}
}
}