1、c# 如何实现将Excel文件以二进制形式存储到sql2000
2。动态修改存入的Excel文件急,在线等

解决方案 »

  1.   


    public static byte[] GetBinary(string fileName)
            {
                FileInfo fi = new FileInfo(fileName);
                FileStream fs = fi.OpenRead();
                byte[] bytes = new byte[fs.Length];
                fs.Read(bytes, 0, Convert.ToInt32(fs.Length));
                fs.Close();
                return bytes;
            }将方法的返回值存入数据库
      

  2.   


    private void button_添加数据文件_Click(object sender, EventArgs e)
           {
               OpenFileDialog open = new OpenFileDialog();//创建OpenFileDialog实例
                open.Filter = "Excel文件|*.xls";
                open.Multiselect = false;                  //每次只能选择一个文件
                if (open.ShowDialog() == DialogResult.OK)
                {
                    string fullpath = open.FileName;       //文件路径
                    FileStream fs = new FileStream(fullpath, FileMode.Open, FileAccess.Read);
                    //把fullpath路径下的文件以打开、只读方式读入流
                    Wordbytes1 = new byte[fs.Length];//字节数组的大小等于流的长度
                   
                  fs.Read(Wordbytes1, 0, System.Convert.ToInt32(fs.Length));//从流中读取全部字节,并将其写入字节数组
                }
    还有不太明白你第二个问题的意思!
      

  3.   

    第二个问题是第一个的逆向吗?从数据库中取出字段,记录主键,并且把excel所在字段写入文件,然后修改并更新数据?楼主考虑下把文件以二进制方式存入数据库是否必要,如果要经常性对文件进行修改,那么只保存文件的路径更符合应用,毕竟只涉及到io操作。
      

  4.   

    第二个问题是指:当通过读取数据库字节流方式将Excel文件显示给用户时,如若用户修改,如何来保存
      

  5.   

    谢谢你的善意提醒,这样作可以隐藏excel文件的存在
      

  6.   

    第一次保存时有一个Excel文件的模板
    第二次保存没有Excel文件存在,显示给用户Excel文件从数据库中读取的
      

  7.   

    直接到处建表,那么有100个甚至更多Excel模板,岂不是要建那么多表?
      

  8.   

    我以前再一个项目中做过:
      先是把execel中的数据 掉入C#Winfrom中的dataGridview中。
      然后把再遍历数据导入到sql2000中。
      

  9.   

    换个思路吧,使用office2003以上版本,sql2005以上版本,都支持xml的,将Excel文件导出为xml保存入数据库字段,读取时就可以用dataset.readxml方法得到数据,用GridView显示并修改,完了再更新数据库。