c# - 将 Excel 文件上传到 GridView 时出错
问题描述
我正在开发一个系统,它应该将 Excel 文件上传到 GridView,然后单击按钮将 GridView 项目保存到 SQL 表中。我做了整个事情并在本地主机中执行,没有任何错误。但是当我将系统上传到服务器时,当我将 Excel 文件上传到 GridView 时出现错误。下面是我在 try catch 异常中遇到的错误。
FileShare 共享、Int32 bufferSize、FileOptions 选项、String msgPath、Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode) at System.Web.HttpPostedFile.SaveAs(String filename) at StyleOperations.Operations.uploadLinkButton_Click(对象发送者,EventArgs e)
我在Uploads
服务器中创建了文件夹并尝试了。但是,我仍然遇到同样的错误。下面我提到了我的代码和 Excel 文件格式,有人可以帮助我。先感谢您。
protected void uploadLinkButton_Click(object sender, EventArgs e)
{
try
{
string Constr = "";
string ext = Path.GetExtension(StyleOperationsFileUpload.FileName).ToLower();
string path = Server.MapPath("~/Uploads/" + StyleOperationsFileUpload.FileName);
StyleOperationsFileUpload.SaveAs(path);
if (ext.Trim() == ".xls")
{
Constr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
}
else if (ext.Trim() == ".xlsx")
{
Constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
}
string query = "SELECT * FROM [Sheet1$]";
OleDbConnection conn = new OleDbConnection(Constr);
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
OleDbCommand cmd = new OleDbCommand(query, conn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
UploadGridView.DataSource = ds.Tables[0];
UploadGridView.DataBind();
conn.Close();
}
catch (Exception ex)
{
Response.Write("<script>alert('Please Restart the system')</script>" + ex);
}
}
Excel 文件格式如下。相同的格式将是 GridView 的格式。
| 1 |DESCRIPTION| SMV |SEQ NO
| 2 | Des1 | 1.2 | 1
| 3 | Des2 | 2.5 | 2
| 4 | Des3 | 5.8 | 3
| 5 | Des4 | 4.2 | 4
解决方案
下面的代码有什么用
StyleOperationsFileUpload.SaveAs(path); //don't think it has any thing to do with this one
注意:您已将工作表名称硬编码为 Sheet1$,我认为这应该是动态的
推荐阅读
- r - 查找字符串中最长的单词
- java - 不推荐使用 Spring XmlBeanFactory
- swift - 如果我们在 Parchment 的 HeaderExample 中替换 UIView 而不是 UIImageView,则渐变背景不起作用
- computer-vision - 图像的一类分类
- python-3.x - 将 Sublime Text 与 Anaconda 一起使用的 Numpy ImportError
- ios - 如何修复通过firebase收到的用于react-native的苹果推送通知
- javascript - 获取 SCRIPT5009:Internet Explorer IE 11 中未定义“id”
- sql-server - SSIS 事件处理程序
- angular - 在 Angular 应用程序的控制台中出现“对象(...)不是函数”错误
- laravel - Eloquent 返回同一模型的多个实例