将数据导出到Excel2003时不能打开,只有2003才有的问题,请大家帮忙
asp.net(C#)
方法一:使用Excel类:
Excel.application excel = new Excel.applicationclass();
报服务器错误,进程中确实有Excel在运行,用户是aspnet,估计是用户权限的问题,但是aspnet的权限已经是系统管理员,该如何解决。
同时,此报表要在客户端打开,程序是否会有错误?
方法二:使用OWC类
可以生成报表,但是只能直接保存到服务器固定文件夹,如何在客户端生成?
我的代码是:
private void WriteDataGridToExcel() {
//创建SpreadsheetClass的实例化对象
SpreadsheetClass MyXlSheet = new SpreadsheetClass();
//查询数据到OleDbDataReader中
MyCnn.Open();
OleDbDataReader MyReader = MySQL.ExecuteReader();
//根据查询的字段个数和记录数把数据导入到MyXlSheet
int numbercols = MyReader.FieldCount;
int intRowNumber = 1;
while (MyReader.Read()) {
for (int i=0;i<numbercols;i++)
{
//把数据导入到ActiveSheet的Cells中
MyXlSheet.ActiveSheet.Cells[intRowNumber,i+1] = MyReader.GetValue(i).ToString();
}
intRowNumber++;
}
//关闭数据库
MyReader.Close();
MyCnn.Close();
//保存ActiveSheet中的数据到指定的文件中
MyXlSheet.ActiveSheet.Export(Server.MapPath(".")+"\\"+this.FileName.Text+".xls",OWC.SheetExportActionEnum.ssExportActionNone);
}