关于Excel导入数据

Trust-Me 2013-03-02 01:34:07
出现的问题:

【Excel导入asp.net中的GridView】 本地测试可以,放在服务器上就不显示了


第一步:是上传,测试成功,服务器和本地测试都可以,我就不贴了。

第二部:是将上传的Excel 打开,贴代码:



public DataTable InputExcel(string xlsName, string TableName, string tablename2)
{
try
{
//获取到上传的Excel
string ThePath = Server.MapPath("../") + "UpLoad\\" + xlsName;

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + ThePath + ";" + "Extended Properties=Excel 8.0;";

OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();

string strExcel = "";

OleDbDataAdapter myCommand = null;

if (tablename2.Length > 0 && !tablename2.Equals(string.Empty))
{
TableName = tablename2;
}


strExcel = "select * from [" + TableName + "$]";

myCommand = new OleDbDataAdapter(strExcel, strConn);
DataTable dt = new DataTable();
myCommand.Fill(dt);

conn.Close();
return dt;

}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}




第三步:获取第二步中return的DataTable,然后显示在GridView中。



if (dt.Rows.Count > 0)
{
this.GridView1.DataSource = inputdt;
this.GridView1.DataBind();
}




开始以为是权限问题,但是将文件夹权限全部打开,依然不可以,求教。
...全文
129 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Trust-Me 2013-03-04
  • 打赏
  • 举报
回复
问题是win2003 x64系统不支持 Jet.OLEDB.4.0,结贴给分。
howtodown 2013-03-04
  • 打赏
  • 举报
回复
一直没有解决这样的问题,所以放弃了
Bule 2013-03-03
  • 打赏
  • 举报
回复
检查下dt为什么没有值?
Trouble___Maker 2013-03-02
  • 打赏
  • 举报
回复
是不是服务器上没有Excel组件?
菜牛 2013-03-02
  • 打赏
  • 举报
回复
看报什么错误,问题没解决之前先不要catch异常;检查路径是否正确;检查所需组件、驱动是否安装;另外,服务器操作Excel我发现还是NPOI和EPPlus好用。
jamie876 2013-03-02
  • 打赏
  • 举报
回复
在windows server 2003不支持Microsoft.Jet.OLEDB.4.0
Trust-Me 2013-03-02
  • 打赏
  • 举报
回复
Up 求大神啊帮分析下啊,不会周六都去泡妹子去了吧。。。
Trust-Me 2013-03-02
  • 打赏
  • 举报
回复
我还是贴全了吧,上传的代码:


if (this.FileUpload1.HasFile)
    {
        string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();
                
        if (IsXls != ".xls")
        {
           MessageBox.Show("本程序只能识别excel文件!",this);
          return;
        }
         xlsName =  DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss")+System.IO.Path.GetFileName(FileUpload1.FileName) ;

        DataTable dt = new DataTable();
        int len = this.FileUpload1.FileName.ToString().Trim().Length;

        string path = Server.MapPath("../UpLoad/") + xlsName;
        this.FileUpload1.SaveAs(path); //上传文件  
    

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧