我在ASP.Net中创建了一个系统,将多个excel文件合并为一个。我用于此的不同连接字符串如下
string formParams = string.Format("mail={0}&password={1}", "store@admin.com", "admin");
CookieContainer cookieContainer = new CookieContainer();
HttpWebRequest req = WebRequest.CreateHttp("http://muslimgowns.com/dashboard/login/public_login");
req.CookieContainer = cookieContainer;
req.GetResponse(); // This is just to get the initial cookies returned by the public_login
req = WebRequest.CreateHttp("http://muslimgowns.com/dashboard/login/login_access");
req.CookieContainer = cookieContainer; // Set the cookie container which contains the cookies returned by the public_login
req.ContentType = "application/x-www-form-urlencoded";
req.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(formParams);
req.ContentLength = bytes.Length;
using (Stream os = req.GetRequestStream())
{
os.Write(bytes, 0, bytes.Length);
}
WebResponse resp = req.GetResponse();
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
string pageSource = sr.ReadToEnd();
File.AppendAllText("first.txt", pageSource); // Dashboard is returned.
}
早些时候系统工作正常,但是从今天起它开始给我错误
' Microsoft.ACE.OLEDB.12.0'提供商未在本地计算机上注册
我是否必须在我的应用程序中包含任何特定(新)dll,还是需要更改我的应用程序?
我尝试合并的文件类型是
Microsoft Excel 97-2003工作表(.xls)
答案 0 :(得分:0)
你必须安装excel的驱动程序,你可以在office driver
找到它如果您在IIS上遇到相同的错误,那么您必须执行此Link
中提到的一些配置答案 1 :(得分:0)
我也遇到了同样的问题。可能的原因是,远程服务器上有不同的IIS设置,IIS设置不同。默认情况下,64位操作系统上的IIS在64位工作进程中运行应用程序,而64位进程无法加载32位DLL。
查看以下链接并在远程服务器IIS中进行更改。 (这在一段时间后解决了我的问题)
Solved - The Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine