【发布时间】:2014-07-03 12:43:39
【问题描述】:
我正在使用 VB.Net。我想使用 Savefile 对话框从我的数据表中导出一个 excel。但我得到错误:
"当前线程必须设置为单线程单元(STA)模式 在可以进行 OLE 调用之前。确保您的 Main 函数具有 STAThreadAttribute 标记就可以了。仅在以下情况下才会引发此异常 调试器已附加到进程。”
我用谷歌搜索了很多,但对于我的“Web 应用程序”,它无法解决。
这是我的代码:
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.Filter = "Excel File|*.xls"
saveFileDialog1.FilterIndex = 2
saveFileDialog1.RestoreDirectory = True
If saveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK _
Then
ExportExcel(dt, "Appraisals" + value.ToString())
End If
【问题讨论】:
-
您是否考虑过发布进行 OLE 调用的实际代码?
-
OLE 调用代码没有问题。此错误发生在打开 SavefileDialog 行时,此处: If saveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK _ Then
-
Waitaminute,您是否尝试在 Asp.net/webforms(发布标签)应用程序中使用 Windows.Forms SaveFileDialog(代码参考)?
-
@sdf 实际上我已经尝试了很多保存文件对话框(除了这个 Windows.Forms.DialogResult.OK),但所有这些都返回了相同的错误。我仍然被困在里面。