需求是这样的,在form窗体上有两个按钮,一个为btnImpor "导入Excel",另一个为btnExpor "导出Excel"
要求点击btnImpor时,会弹出openfiledialog对话框,获取用户选择的文件路径
点击btnExpor时,会弹出savefiledialog对话框,获取用户选择的路径和文件名
我的代码btnImpor调用方法时报错,btnExpor不写方法调用也报错,求解。//btnImpor调用的方法 
public string OpenFileDialogGetPath()
         {
             string path = "";
             using (OpenFileDialog ofd = new OpenFileDialog())
             {
                 ofd.InitialDirectory = "c:\\";
                 ofd.Filter = "Excel文档(*.xls)|*.xls";
                 if (ofd.ShowDialog() == DialogResult.OK)
                 {
                     path = ofd.FileName;
                 }
             }
             return path;
         }
 
//btnExpor里写的代码
string path = "";
             SaveFileDialog sf = new SaveFileDialog();
             sf.InitialDirectory = "d:\\";
             sf.Filter = "Excel文档|*.xls";
             if (sf.ShowDialog() == DialogResult.OK)
             {
                 path = sf.FileName;
             }
             MessageBox.Show(path); 

解决方案 »

  1.   

    我试了一下OpenFileDialogGetPath这个方法,没有报错。你说报错了,你可以设置一个断点,看看究竟是什么错。
      

  2.   

    代码本身没有问题,你新建一个WinForms程序,粘贴进去,保管可以运行。
      

  3.   

    http://my.csdn.net/my/album/detail/1719173
    由于上传不了图片,只能发连接了,请大家帮看一下问题所在,我是在vs2008下运行的.
      

  4.   

    http://my.csdn.net/my/album/detail/1719173
      

  5.   

    在Program.cs文件的void Main(string[] args)前面加上一行:
    [STAThread]
      

  6.   

     ofd.Filter = "Excel文档(*.xls)|*.xls";改成  ofd.Filter = "(*.xls)|*.xls";试试
      

  7.   

    7楼与格式无关
    http://my.csdn.net/my/album/detail/1719230
    6楼是对的,但我使用线程,却没返回值.有人说要返回值的话要委托,就一个获取路径的返回值问题有这么复杂吗
    ?请问有没有别的时候这个需求的方法?折腾了3天了.