在导出excel时候弹出对话框选择保存路径
private void ExportExcel()
{
Invoker inv = new Invoker();
inv.InvokeDialog.FileName = name;
inv.InvokeDialog.DefaultExt = "xls";
inv.InvokeDialog.Filter = "Excel文件|*.xls";
inv.Invoke();//在此处应该会弹出保存对话框,但是在应用程序中对话框不显示,我把应用程序缩小到任务栏,然后打开任务管理器后保存对话框就弹了出来,事实上这个进程已经存在,但就是显示不出来,是什么原因啊?有什么解决办法,或者更好的高效的弹出保存对话框导出Excel的的方法,最好贴出代码来!!
} public class Invoker
{
public SaveFileDialog InvokeDialog;
private Thread InvokeThread;
public DialogResult InvokeResult; public Invoker()
{
InvokeDialog = new SaveFileDialog();
InvokeThread = new Thread(new ThreadStart(InvokeMethod));
InvokeThread.SetApartmentState(ApartmentState.STA);
InvokeResult = DialogResult.None;
} public DialogResult Invoke()
{
InvokeThread.Start();
InvokeThread.Join();
return InvokeResult;
} private void InvokeMethod()
{
InvokeResult = InvokeDialog.ShowDialog();
}
}
private void ExportExcel()
{
Invoker inv = new Invoker();
inv.InvokeDialog.FileName = name;
inv.InvokeDialog.DefaultExt = "xls";
inv.InvokeDialog.Filter = "Excel文件|*.xls";
inv.Invoke();//在此处应该会弹出保存对话框,但是在应用程序中对话框不显示,我把应用程序缩小到任务栏,然后打开任务管理器后保存对话框就弹了出来,事实上这个进程已经存在,但就是显示不出来,是什么原因啊?有什么解决办法,或者更好的高效的弹出保存对话框导出Excel的的方法,最好贴出代码来!!
} public class Invoker
{
public SaveFileDialog InvokeDialog;
private Thread InvokeThread;
public DialogResult InvokeResult; public Invoker()
{
InvokeDialog = new SaveFileDialog();
InvokeThread = new Thread(new ThreadStart(InvokeMethod));
InvokeThread.SetApartmentState(ApartmentState.STA);
InvokeResult = DialogResult.None;
} public DialogResult Invoke()
{
InvokeThread.Start();
InvokeThread.Join();
return InvokeResult;
} private void InvokeMethod()
{
InvokeResult = InvokeDialog.ShowDialog();
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货