当前位置:编程学习 > C#/ASP.NET >>

一个读取Excel文件的问题,麻烦高手、大神、牛逼人物帮忙指点一下,万分感谢!!!

小弟初学者,有个问题不知道怎么解决,麻烦高手们帮个忙吧,先谢谢了。

功能说明:客户端的一个文件夹里面有100多个Excel文件(内部格式一样),现在希望能将整个文件夹上传到服务器,并逐个读取Excel文件的数据,将数据逐个导入数据库。

现在状态:我已经可以实现单位文件上传并读取数据导入数据库,但是实现不了正个文件夹上传和逐个读取,麻烦告诉们给个方便吧,给个思路也可以啊!!! --------------------编程问答-------------------- 批量上传的话,可以考虑用Flash。 --------------------编程问答-------------------- 遍历文件夹下的excel,多线程,一个线程传一个excel.
或者压缩文件夹,上传之后再解压. --------------------编程问答-------------------- --------------------编程问答-------------------- Xproer.HttpUploader:http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html 此控件是基于标准HTTP协议实现的文件上传功能。优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,适合各种简单WEB项目。 另外一个特点是支持自动上传指定的本地文件。







传本地文件代码 使用步骤如下: 1.调用AddFile函数添加本地文件,注意路径需要使用双斜框(\\) 2.调用PostFirst函数开始上传文件。


<script type="text/javascript" language="javascript">
     var uploaderMgr = new HttpUploaderMgr();
     uploaderMgr.Load();//加载控件

window.onload = function()
{
uploaderMgr.Init();//初始化控件
uploaderMgr.AddFile("D:\\Soft\\QQ2010.exe");
uploaderMgr.PostFirst();

};
</script>




服务器返回消息:<input id="txtFilePath" type="text" size="50" />
<script type="text/javascript" language="javascript">
var uploaderMgr = new HttpUploaderSingleMgr();
uploaderMgr.Config["PostUrl"] = "http://localhost:8080/asp.net/upload.aspx";
uploaderMgr.Load();
//文件上传完成后执行的回调函数
uploaderMgr.CompleteHook = function(msg)
{
document.getElementById("txtFilePath").value = msg;
};

window.onload = function()
{
uploaderMgr.Init();
};
</script>



将整个文件夹上传上去服务器之后 做一下那个控件的扩展方法 自动遍历文件夹找Excel文件 循环-读取-入库。 --------------------编程问答-------------------- 你们都没有看清楼主的意思。他是要批量导入EXCEl到数据库中。EXCEL文件有多个。

个人感觉最简章的方法是这样的,把EXCEL文件名取一定的规律,如excel1,excel2,excel3......

来一个循环,如,这次10个文件,从1到10,那就是

for(int i=1;i<=10;i++)
{

   //开始导入EXCEL,这部分你会
   ImportExcel("excel"+i.ToString()+".xls);
}


public void ImportExcel(string fileName)
{
    //开始导入EXCEL,这部分你会
}

--------------------编程问答--------------------
引用 楼主 zqsss 的回复:
小弟初学者,有个问题不知道怎么解决,麻烦高手们帮个忙吧,先谢谢了。

功能说明:客户端的一个文件夹里面有100多个Excel文件(内部格式一样),现在希望能将整个文件夹上传到服务器,并逐个读取Excel文件的数据,将数据逐个导入数据库。

现在状态:我已经可以实现单位文件上传并读取数据导入数据库,但是实现不了正个文件夹上传和逐个读取,麻烦告诉们给个方便吧,给个思路也可以啊!!!


既然你可以单个文件上传,那么循环读取文件夹下的文件、一个一个的上传呗。

你的客户端是什么客户端呢?是用户手工选择单个上传文件还是程序自动去查找文件并上传? --------------------编程问答-------------------- 其实你的“思路”就是:有可直接抄袭的代码你就“会”,需要稍微有一点设计头脑(哪怕仅仅是增加一个for循环以及以两行其它代码辅助的)你就“不会”。

这说明你还是没有思路的。这种思路,是设计思路。不是抄代码的思路。所以你应该注意总结简单的东西成为自己的思路,不要懒惰地满足于领导替你写涉及“思路”的代码。 --------------------编程问答--------------------
引用 5 楼 aqgsh 的回复:
你们都没有看清楼主的意思。他是要批量导入EXCEl到数据库中。EXCEL文件有多个。

个人感觉最简章的方法是这样的,把EXCEL文件名取一定的规律,如excel1,excel2,excel3......

来一个循环,如,这次10个文件,从1到10,那就是

for(int i=1;i<=10;i++)
{

   //开始导入EXCEL,这部分你会
   ImportExcel("excel"+i.ToString()+".xls);
}


public void ImportExcel(string fileName)
{
    //开始导入EXCEL,这部分你会
}

嗯,显然通常我们写的程序、上传的文件名(不含路径)在客户端跟服务器端都是保持一样的。因此lz整个“没有思路”的,就是不会写这样一个for循环语句,以及不知道如何在for循环的时候遍历客户端文件。 --------------------编程问答--------------------
引用 4 楼 wjmo520 的回复:
Xproer.HttpUploader:http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html 此控件是基于标准HTTP协议实现的文件上传功能。优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,适合各种简单WEB项目。 另外一个特点是支持自动上传指定的本地文件。







传本地文件代码 使用步骤如下: 1.调用AddFile函数添加本地文件,注意路径需要使用双斜框(\\) 2.调用PostFirst函数开始上传文件。


<script type="text/javascript" language="javascript">
     var uploaderMgr = new HttpUploaderMgr();
     uploaderMgr.Load();//加载控件

window.onload = function()
{
uploaderMgr.Init();//初始化控件
uploaderMgr.AddFile("D:\\Soft\\QQ2010.exe");
uploaderMgr.PostFirst();

};
</script>




服务器返回消息:<input id="txtFilePath" type="text" size="50" />
<script type="text/javascript" language="javascript">
var uploaderMgr = new HttpUploaderSingleMgr();
uploaderMgr.Config["PostUrl"] = "http://localhost:8080/asp.net/upload.aspx";
uploaderMgr.Load();
//文件上传完成后执行的回调函数
uploaderMgr.CompleteHook = function(msg)
{
document.getElementById("txtFilePath").value = msg;
};

window.onload = function()
{
uploaderMgr.Init();
};
</script>



将整个文件夹上传上去服务器之后 做一下那个控件的扩展方法 自动遍历文件夹找Excel文件 循环-读取-入库。


好大的一个H 文件夹啊 --------------------编程问答--------------------             DirectoryInfo mydir = new DirectoryInfo("Excel文件夹路径");
            foreach (FileSystemInfo fsi in mydir.GetFileSystemInfos())
            {
                if (fsi is FileInfo)
                {
                    FileInfo fi = (FileInfo)fsi;
                    string filename = fi.FullName;
                    //这个filename就是你Excel文件的路径,在这里执行你的上传操作即可
                }
            } --------------------编程问答-------------------- 直接一个for循环搞定的事情 --------------------编程问答-------------------- BS   还是 CS ?? --------------------编程问答-------------------- 先打包上传,然后在代码中解压,最后一个文件一个文件遍历,插到数据库中 --------------------编程问答--------------------  文件的操作! foreach   gg
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,