你可以利用FileStream类来生成一个文件,将你那个内容写进文件即可。

解决方案 »

  1.   

    本代码久经考验。 你自己做适当修改即可使用。/// <summary>
    /// Excel格式
    /// </summary>
    /// <returns>成功与否 true:成功, false:失败</returns>
    public bool ExcelExport()
    {
    //复制文件
    System.IO.File.Copy (m_sTemplateFile,m_sTagPath+m_sNewFileName,true);

    string strConn=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+ m_sTagPath+m_sNewFileName+
    @";Extended Properties=""Excel 5.0;;HDR=Yes;"";" ;

    CreateTable (this.m_sDS,strConn,this.m_sTagTableName ); return UpdateDataset(this.m_sDS,strConn,m_sTagTableName);
    }
    /// <summary>
    /// 生成目标表结构
    /// </summary>
    /// <param name="sDS">源数据集合</param>
    /// <param name="TagConnStr">目标数据库连接字符串</param>
    /// <param name="TagTableName">目标表名</param>
    /// <returns>成功与否,true 成功,false 失败</returns>
    public bool CreateTable(/*string SourceConnStr,string SourceSqlStr*/DataSet sDS, string TagConnStr,string TagTableName)
    { string strSql;
    int i = 0;
    //根据源数据表的字段类型拼create语句
    strSql="Create Table "+TagTableName+ "(" ;
    foreach(DataColumn dc in sDS.Tables[0].Columns)
    {
    string strColumnName =dc.ColumnName;
    strColumnName = strColumnName.Replace("("," (").Replace(")",")");
    strColumnName = strColumnName.Replace(" ","");

    i++;
    string type = dc.DataType.ToString();
    switch(type)



    case "System.String":
    if(i==sDS.Tables[0].Columns.Count)
    {
    strSql+= strColumnName +"  char(255)";
    }
    else
    {
    strSql+= strColumnName +"  char(255),";
    }
    break;
    case "System.Int32":
    if(i==sDS.Tables[0].Columns.Count)
    {
    strSql+= strColumnName +"  int ";
    }
    else
    {
    strSql+= strColumnName +"  int ,";
    }
    break;
    case "System.DateTime":
    if(i==sDS.Tables[0].Columns.Count)
    {
    strSql+= strColumnName +"  SmallDateTime ";
    }
    else
    {
    strSql+= strColumnName +"  SmallDateTime ,";
    }
    break;
    case "System.Decimal":
    if(i==sDS.Tables[0].Columns.Count)
    {
    strSql+= strColumnName +"  Decimal ";
    }
    else
    {
    strSql+= strColumnName +"  Decimal ,";
    }
    break;
    default:
    break;
    }
    }
    strSql+=")";
    //执行SQL,生成表。
    OleDbConnection conn=new OleDbConnection(TagConnStr);
    conn.Open();
    try
    {
    OleDbCommand command=new OleDbCommand(strSql,conn);
    command.ExecuteNonQuery();
    }
    catch(System.Exception ee)
    {
    return true;
    }
    conn.Close();
    return true;
    } /// <summary>
    /// 把原表的数据拷贝给目标表
    /// </summary>
    /// <param name="sSet">源数据集合</param>
    /// <param name="vTagConn">目标数据库连接字符串</param>
    /// <param name="vTagTableName">目标表名</param>
    /// <returns>成功与否 true:成功,false 失败</returns>
    private bool UpdateDataset(DataSet sSet,string vTagConn,string vTagTableName)
    {

    OleDbCommandBuilder bd;
    OleDbConnection tConn;
    OleDbDataAdapter tAdpt;
    DataSet tSet;


    sSet.Tables [0].Columns[0].DataType.ToString ();

    //连接目标数据库
    tConn=new OleDbConnection (vTagConn);

    //设置InsertCommand
    string strConn=vTagConn; 
    string strSql=@"Select * From "+ vTagTableName;

    try
    {

    tAdpt=new OleDbDataAdapter (strSql,tConn);
    bd=new OleDbCommandBuilder (tAdpt);
    bd.GetInsertCommand();
    tConn.Open ();
    tSet=new DataSet ();
    tAdpt.Fill (tSet);
    }
    catch(System.Exception  ee)
    {
    return false;
    }

    //更新目标数据库
    int count=sSet.Tables [0].Columns.Count ;
    try
    {
    foreach(System.Data.DataRow sRow in sSet.Tables [0].Rows )
    {
    //拷贝数据
    DataRow  tRow=tSet.Tables [0].NewRow ();

    for (int i=0;i<count;i++)
    {
    if(sRow.IsNull(i))
    {
    }
    else
    tRow[i] = sRow[i].ToString();
    }
    tSet.Tables [0].Rows.Add (tRow);
    }

    tAdpt.Update (tSet.Tables [0]);
    tConn.Close ();
    }
    catch(System.Exception ee)
    {
    return false;
    }
    return true;
    }
      

  2.   

    搞掂啦~~~~~~~~~~~~~~~!
    多谢大家~~!! SqlConnection con = new SqlConnection("Server=REALSERVER;uid=sa;pwd=rm123456;database=ZJConstruction");
    SqlDataAdapter da = new SqlDataAdapter("Select * From Files", con);
    SqlCommandBuilder MyCB = new SqlCommandBuilder(da);
    DataSet ds = new DataSet("Files"); byte[] MyData= new byte[0];

    da.Fill(ds, "Files");
    DataRow myRow;
    myRow=ds.Tables["Files"].Rows[1];
               
    MyData =  (byte[])myRow["fileContext"];
    int ArraySize = new int();
    ArraySize = MyData.GetUpperBound(0);  FileStream fs = new FileStream(@"C:\Documents and Settings\Administrator\My Documents\My Pictures\样品xxxx.doc", FileMode.OpenOrCreate, FileAccess.Write);
    fs.Write(MyData, 0,ArraySize);
    fs.Close();