将数据表转换为字节数组 [英] Convert datatable to byte array

查看:80
本文介绍了将数据表转换为字节数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在WCF服务中将DataTable转换为字节数组。将值返回到表示层后,我想将字节数组转换为excel。
就是说;我想在用户界面侧(网站)的表示层下面进行操作。

I want to convert DataTable to byte array in WCF services. After returning value to presentation layer, I want to convert byte array to excel. That is to say; I want to do below at presentation layer that is user interface side (web site).

Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName + ".xls");

Response.OutputStream.Write(s, 0, s.Length);
Response.OutputStream.Flush();
Response.OutputStream.Close();
Response.Flush();
Response.Close();

我没有这样做。如何将数据表转换为字节数组?

I didnot do it. How can I convert datatable to byte array?

推荐答案

将数据行中的所有列连接起来并保存为csv(csv可读)

concatenate all columns in your data row and save it as csv (csv is readable in excel)

private string (DataTable dt)
{
string rw = "";
StringBuilder builder = new StringBuilder();

foreach(DataRow dr in dt.Rows)
{
  foreach(DataColumn dc in dr.Columns)
  {
      rw = dc[0].ToString();
      if (rw.Contains(",")) rw = "\"" + rw + "\"";
      builder.Append(rw + ",");
  }
  builder.Append(Environment.NewLine);
}
return builder.ToString()
}

然后序列化返回字符串值

Then serialize the return string value

这篇关于将数据表转换为字节数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆