【发布时间】:2014-04-05 12:54:20
【问题描述】:
我需要使用 asp.net 将 Excel 文件导入 SQL Server。当我点击链接时,这应该会弹出一个文件打开对话框。它应该只允许用户选择 Excel 文件 (*.xls, *.xlsx)。
当我点击它时我尝试使用一个按钮,它正在调用如下方法:
protected void btnBrowse_Click(object sender, EventArgs e)
{
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
openFileDialog.Multiselect = false;
openFileDialog.Filter = "Data Sources (*.xls, *.xlsx)|*.xls*;*.xlsx";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
txtFileName.Text = openFileDialog.FileName;
}
}
}
但在 openFileDialog.ShowDialog() == DialogResult.OK 上显示错误:当前线程必须设置为单线程单元 (STA) 模式,然后才能进行 OLE 调用。确保您的 Main 函数上标记了 STAThreadAttribute。仅当调试器附加到进程时才会引发此异常。
请问有什么办法吗?
【问题讨论】: