System.Runtime.InteropServices.COMException (0x800A03EC):
Exception from HRESULT: 0x800A03EC
at Microsoft.Office.Interop.Excel.WorkbookClass.Save()
at ProductLineManager.INV.NextSumIOReport.SetExcel4DownLoad()
本地计算机VS调试和IIS都没问题,在服务器中出现该问题!object missing = Missing.Value;
Application app = null;
Workbook wb = null;
Worksheet ws = null;
//Range r = null;
//
app = new Microsoft.Office.Interop.Excel.Application();
wb = app.Workbooks.Open(MapCopyPath, false, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
// app.Visible = true; //得到WorkSheet对象
ws = (Worksheet)wb.Worksheets.get_Item(1); for (int j = 1; j <= 6; j++)
{
ws.Cells[1, j] = "";
}
ws.Cells[2, 1] = "厂号";
ws.Cells[2, 2] = "内部部番";
ws.Cells[2, 3] = "品名";
ws.Cells[2, 4] = "供应商部番";
ws.Cells[2, 5] = "仕入先";
ws.Cells[2, 6] = "日期";
System.Data.DataTable ds = new System.Data.DataTable();
ds = getFAC();
int r=0;
if (ds.Rows.Count > 0)
{
r = ds.Rows.Count;
for (int j = 0; j < r; j++)
{
ws.Cells[1, 7 + j] = ds.Rows[j]["FCT_ID"].ToString();
ws.Cells[2, 7 + j] = "未来库存";
}
}
int k = temp - 1;
DateTime Mon;
for (int j = 0; j <= k; j++)
{
Range c = ws.get_Range(ws.Cells[1, 7 + r + j * 4], ws.Cells[1, 10 + r + j * 4]);
c.Merge(false);
Mon = GetWeekM(DateTime.Now.Date.AddDays(7 * t[j]).Year, WeekOfYear(DateTime.Now.Date.AddDays(7 * t[j])));
c.FormulaR1C1 = Mon.Year.ToString().Trim() + "/" + Mon.Month.ToString().Trim() + "/" + Mon.Day.ToString().Trim();
c.HorizontalAlignment=XlHAlign.xlHAlignCenter;
ws.Cells[2, 7 + r + j * 4] = "入库";
ws.Cells[2, 8 + r + j * 4] = "消耗";
ws.Cells[2, 9 + r + j * 4] = "未来库存";
ws.Cells[2, 10 + r + j * 4] = "状态";
}
wb.Save();
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; }
//输出Excel文件并退出
wb.Save();
wb.Close(false,false, missing);
app.Workbooks.Close();
app.Application.Quit();
app.Quit();
ws = null;
wb = null;
app = null;
Exception from HRESULT: 0x800A03EC
at Microsoft.Office.Interop.Excel.WorkbookClass.Save()
at ProductLineManager.INV.NextSumIOReport.SetExcel4DownLoad()
本地计算机VS调试和IIS都没问题,在服务器中出现该问题!object missing = Missing.Value;
Application app = null;
Workbook wb = null;
Worksheet ws = null;
//Range r = null;
//
app = new Microsoft.Office.Interop.Excel.Application();
wb = app.Workbooks.Open(MapCopyPath, false, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
// app.Visible = true; //得到WorkSheet对象
ws = (Worksheet)wb.Worksheets.get_Item(1); for (int j = 1; j <= 6; j++)
{
ws.Cells[1, j] = "";
}
ws.Cells[2, 1] = "厂号";
ws.Cells[2, 2] = "内部部番";
ws.Cells[2, 3] = "品名";
ws.Cells[2, 4] = "供应商部番";
ws.Cells[2, 5] = "仕入先";
ws.Cells[2, 6] = "日期";
System.Data.DataTable ds = new System.Data.DataTable();
ds = getFAC();
int r=0;
if (ds.Rows.Count > 0)
{
r = ds.Rows.Count;
for (int j = 0; j < r; j++)
{
ws.Cells[1, 7 + j] = ds.Rows[j]["FCT_ID"].ToString();
ws.Cells[2, 7 + j] = "未来库存";
}
}
int k = temp - 1;
DateTime Mon;
for (int j = 0; j <= k; j++)
{
Range c = ws.get_Range(ws.Cells[1, 7 + r + j * 4], ws.Cells[1, 10 + r + j * 4]);
c.Merge(false);
Mon = GetWeekM(DateTime.Now.Date.AddDays(7 * t[j]).Year, WeekOfYear(DateTime.Now.Date.AddDays(7 * t[j])));
c.FormulaR1C1 = Mon.Year.ToString().Trim() + "/" + Mon.Month.ToString().Trim() + "/" + Mon.Day.ToString().Trim();
c.HorizontalAlignment=XlHAlign.xlHAlignCenter;
ws.Cells[2, 7 + r + j * 4] = "入库";
ws.Cells[2, 8 + r + j * 4] = "消耗";
ws.Cells[2, 9 + r + j * 4] = "未来库存";
ws.Cells[2, 10 + r + j * 4] = "状态";
}
wb.Save();
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; }
//输出Excel文件并退出
wb.Save();
wb.Close(false,false, missing);
app.Workbooks.Close();
app.Application.Quit();
app.Quit();
ws = null;
wb = null;
app = null;
1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”。
2. 键入以下命令启用 32 位模式:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
3. 键入以下命令,安装 ASP.NET 2.0(32 位)版本并在 IIS 根目录下安装脚本映射:
%SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
4. 确保在 Internet 信息服务管理器的 Web 服务扩展列表中,将 ASP.NET 版本 2.0.40607(32 位)的状态设置为允许。
Microsoft Office Excel不能打开或保存任何文件,因为没有足够的内存或硬盘空间.关掉你不需要的工作薄或程序可以使更多内存释放.
从你所保存的硬盘中删除你不再需要的文件来释放更多空间.
可能是你的C盘空间不够吧.