在将Excel文件通过File Upload最后保存到数据库某表中。数据类似:
0xD0CF11E0A1B11AE100000000000000。很长很长。现在我如何将其取出来,然后还原成excel文件。请给出一段示例代码,谢谢了。

解决方案 »

  1.   

    LZ的意思是说将XLS文件2进制写入SQL里,然后再将2进制数据提取出来读成XLS?
      

  2.   

    先读取某行+某列(该Excel文件所在的字段)试试:
    select excelfile from table where ...
    ......
    object o = command.ExecuteScalar();
    if (o != null) ;//读取是否成功
    byte[] buff = (byte[])o;
    FileStream fs = new FileStream("a.xls", FileMode.Create);
    fs.Write(buff, 0, buff.Length);
    与保存图像类似的道理,都是将文件以二进制保存的
      

  3.   

    ---是的。现在就想怎么还原成excel。
      

  4.   

    写入操作public byte[] FileToBinary(string fileName)
            {
                try
                {
                    FileStream fsRead = new FileStream(fileName, FileMode.Open, FileAccess.Read);//fileName你的文件完整路径                if (fsRead.CanRead)
                    {
                        int fsSize = Convert.ToInt32(fsRead.Length);                    byte[] btRead = new byte[fsSize];                    fsRead.Read(btRead, 0, fsSize);                    return btRead;
                    }
                    else
                    {
                        return null;
                    }
                }
                catch (Exception ce)
                {
                    ce.ToString();
                    return null;
                }
            }至于insetr进数据库就不写了,也不难,大家都懂的
    读出操作object yourdate="";\\这里是你从SQL里取出的2进制数据
    FileStream fs = new FileStream(filePath, FileMode.Create);//filePath你文件读出的路径
    byData = (byte[])yourdate;
    fs.Write(byData, 0, byData.Length);
    fs.Flush();
    fs.Close();
    以上只是最简单的例子代码,LZ可以参考,自己多连连,很容易的