(特急,在线等!!)郁闷了一天(高手帮忙)ASP.NET创建Excel时出错,
不能访问只读文件xx.xls
代码是这样的:
private void Button1_Click(object sender, System.EventArgs e)
{
this._x = new Excel.ApplicationClass();
this._x.UserControl = false;
/*for (int i = 0 ;i < 4; i++)
{
this.SaveToXls( "D:\\test\\ " + i + ".xls "); // 本例是在D盘下建立的test文件夹
}*/
//this.SaveToXls( "D:\\test\\0.xls ");
this.SaveToXls();
this._x.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject((object) this._x);
System.GC.Collect();
}
private void SaveToXls()
{
Excel.WorkbookClass wb = (Excel.WorkbookClass)this._x.Workbooks.Add(System.Reflection.Missing.Value);
Excel.Range er = _x.get_Range( "A1:A1 ", "D4:D4 ");
er.Borders.LineStyle = 1;
er.Borders.ColorIndex = 10;
er.Font.Bold = true;
er.Interior.ColorIndex=6; //设置Range的背景色
this._x.Cells[1,1] = "aa ";
//合并单元格
_x.get_Range( "A1:D1 ", "A1:D1 ").MergeCells = 4;
//单元格背景颜色
_x.get_Range( "A1:D1 ", "A1:D1 ").Interior.ColorIndex = 4;
//_x.get_Range( "A1:D1 ", "A1:D1 ").Font.ColorIndex = 104;
//字体大小
_x.get_Range( "A1:D1 ", "A1:D1 ").Font.Size = 20;
Excel.Range rng3=_x.get_Range( "D2:D2 ", "D5:D5 ");
//设置自动拉伸
rng3.EntireRow.AutoFit();
//设置列宽
rng3.ColumnWidth = 70;
Excel.Range rng1 = (Excel.Range)_x.Cells[1, 1];
rng1.ColumnWidth = 50;
//设置对齐方式
rng1.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
#region 两种选择方式
/*选择某个单元格*/
Excel.Range rng4 = (Excel.Range)_x.Cells[3,2];
rng4.HorizontalAlignment = Excel.XlHAlign.xlHAlignRight;
/*选择某块区域*/
Excel.Range rngTest = _x.get_Range(_x.Cells[2,2],_x.Cells[5,5]);
rngTest.Font.Bold = true;
#endregion
for(int i = 2;i <= 5; i++)
{
this._x.Cells[i,1]=i.ToString() + "+8i ";
this._x.Cells[i,2]= " 'bbb2 ";
this._x.Cells[i,3]= " 'ccc3 ";
this._x.Cells[i,4]= " 'aaa4aaa4aaa4aaa4aaa4aaa4aaa4 ";
}
wb.Saved = true;
//this._x.ActiveWorkbook.SaveCopyAs(filename);
//this._x.ActiveWorkbook.SaveCopyAs( "d:\\test\\aa.xls ");
this._x.ActiveWorkbook.SaveCopyAs(Server.MapPath(Request.ApplicationPath) + "\\test\\ " + "myexxx.xls ");
}
运行后出错信息:
不能访问只读文件“myexxx.xls”。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Runtime.InteropServices.COMException: 不能访问只读文件“myexxx.xls”。
源错误: