导出Excel时出现Exception from HRESULT: 0x800A03EC的错误! 本地调试过程中没问题!放到服务器上以后出现该错误!本地调试过程中数据列数比服务器时少,这点有影响吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 using (DAO.ClsDB dao = new DAO.ClsDB()) { dt = dao.Sql4Select(databind(), null); string[,] tp = new string[dt.Rows.Count, dt.Columns.Count]; for (int i1 = 0; i1 < dt.Rows.Count; i1++) { for (int i2 = 0; i2 < dt.Columns.Count; i2++) { tp[i1, i2] = dt.Rows[i1][i2].ToString(); } } Range c = ws.get_Range(ws.Cells[3, 1], ws.Cells[3 + dt.Rows.Count - 1, dt.Columns.Count]); c.FormulaR1C1 = tp; }部分代码 OFFICE 组件引用了? --reply by CSDN Study V1.0.0.3 (starts_2000) 服务器的Office版本和你开发时的一致吗?服务器要设置DCOM权限的,或者在应用程序池里面的标识改成本地系统 除了服务器上的office没激活外,其他都是一致的。DCOM权限设置过了,之前一个个写Cell时可以导出的,因为数据量比较大,全部导出时页面会卡死,所以采用数组作为中间变量,这点可能出错吗?应用程序池里面的标识刚改过试了下,还是一样的错误! 你可能是代码的问题了,。你可以试试tp[i1+1, i2+1] = dt.Rows[i1][i2].ToString(); 看错了,不是数组的问题。你可以试试写一个简单数组,内容少点试试,是不是你的数组内容太多了?excel的行数、列数都有限制的 我是用wb.Save()保存的,这会带来问题吗? 在服务器的IIS上不知道咋调试 把config的debug=true打开,<customErrors mode="Off"/>让它显示错误黄页 服务器的Office版本和你开发时的不一致 代码中将错误放入label中显示,所以这两选项都已是这样了,错误黄页显示不出来啊! ///////////////////////////////下载Excel文件/////////////////////////////// try { string filename = MapCopyPath; FileInfo fi = new FileInfo(filename); Response.ContentType = "application/vnd.ms-excel"; Response.Charset = ""; Response.AddHeader("Content-Length", fi.Length.ToString()); string strHead = "attachment;filename=" + HttpUtility.UrlEncode(System.IO.Path.GetFileName(filename)) + "; size=" + fi.Length.ToString(); Response.AddHeader("Content-Disposition", strHead); Response.WriteFile(filename); Response.Flush(); File.Delete(filename); HttpContext.Current.ApplicationInstance.CompleteRequest(); Response.Close(); } catch (Exception ee) { logger.Error(ee); lblMessage.Text = ee.Message + "[" + COMMON.ClsCommon.GetNowTimeHHMMSS() + "]"; }这是下载excel的代码 只要IIS里的bin文件夹下的Microsoft.Office.Interop.Excel.dll和office.dll的版本是12的,应该就是2007的吧仔细看了下,服务器上安装的office文件夹下有office12 和14文件夹 ,我的电脑上是10,11和12,我的系统是XP,服务器是Server 2003 ,这点有影响不? 看错了,Server 2003上还有个X86的安装文件夹,下面有11和12的 datalist输出table 有单元格错位的情况(各位大神进来帮忙咯) datagridview只保留竖边框 网易主页面的换页问题 帮忙看断js代码 输入字符串的格式不正确 datareader实现显示图片:一行2个,显示4行共8张图,以下代码................... 有人说是VS2005的BUG--"Eval()、XPath()和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用"的错误--怎么回事? 求正则表达式,如何去掉不满足格式的子字符串,谢谢! 当一个页面被关闭时激发的是什么事件?我需要在页面关闭时作一些处理 水晶报表怎样将一张表分两块显示出来 vs2010写的网站没用到net4.0的东西,可以在net2.0的服务器上运行吗 .NET C#怎么用GET的方式发送XML包啊
{
dt = dao.Sql4Select(databind(), null);
string[,] tp = new string[dt.Rows.Count, dt.Columns.Count];
for (int i1 = 0; i1 < dt.Rows.Count; i1++)
{
for (int i2 = 0; i2 < dt.Columns.Count; i2++)
{
tp[i1, i2] = dt.Rows[i1][i2].ToString();
}
}
Range c = ws.get_Range(ws.Cells[3, 1], ws.Cells[3 + dt.Rows.Count - 1, dt.Columns.Count]);
c.FormulaR1C1 = tp; }部分代码
服务器要设置DCOM权限的,或者在应用程序池里面的标识改成本地系统
DCOM权限设置过了,之前一个个写Cell时可以导出的,因为数据量比较大,全部导出时页面会卡死,所以采用数组作为中间变量,这点可能出错吗?
应用程序池里面的标识刚改过试了下,还是一样的错误!
tp[i1+1, i2+1] = dt.Rows[i1][i2].ToString();
让它显示错误黄页
try
{
string filename = MapCopyPath;
FileInfo fi = new FileInfo(filename);
Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "";
Response.AddHeader("Content-Length", fi.Length.ToString());
string strHead = "attachment;filename=" + HttpUtility.UrlEncode(System.IO.Path.GetFileName(filename)) + "; size=" + fi.Length.ToString();
Response.AddHeader("Content-Disposition", strHead); Response.WriteFile(filename);
Response.Flush();
File.Delete(filename);
HttpContext.Current.ApplicationInstance.CompleteRequest();
Response.Close();
}
catch (Exception ee)
{
logger.Error(ee);
lblMessage.Text = ee.Message + "[" + COMMON.ClsCommon.GetNowTimeHHMMSS() + "]"; }这是下载excel的代码
仔细看了下,服务器上安装的office文件夹下有office12 和14文件夹 ,我的电脑上是10,11和12,我的系统是XP,服务器是Server 2003 ,这点有影响不?