- ·上一篇文章:提高asp访问速度的方法
- ·下一篇文章:利用datediff函数来计算两个时间差
asp操作excel文件
一、配置方法
1、开始---运行---dcomcnfg
2、组件服务---计算机---我的电脑---dcom配置---Microsoft 
Excel应用程序(右键)---属性---安全
3、启动和激活权限 
选择自定义,点击编辑,添加用户everyone并给予所有权限
4、访问权限、配置权限同上
二、 ASP对Excel的基本操作 
1、 建立Excel对象 
set 
objExcelApp 
= 
CreateObject("
Excel.Application"
) 
objExcelApp.DisplayAlerts 
= 
false 不显示警告 
objExcelApp.Application.Visible 
= 
false 不显示界面 
2、 新建Excel文件 
objExcelApp.WorkBooks.add 
set 
objExcelBook 
= 
objExcelApp.ActiveWorkBook 
set 
objExcelSheets 
= 
objExcelBook.Worksheets 
set 
objExcelSheet 
= 
objExcelBook.Sheets(1) 
3、 读取已有Excel文件 
strAddr 
= 
Server.MapPath("
."
) 
objExcelApp.WorkBooks.Open(strAddr 
&
#38
 
"
\Templet\Table.xls"
) 
set 
objExcelBook 
= 
objExcelApp.ActiveWorkBook 
set 
objExcelSheets 
= 
objExcelBook.Worksheets 
set 
objExcelSheet 
= 
objExcelBook.Sheets(1) 
4、 另存Excel文件 
objExcelBook.SaveAs 
strAddr 
&
#38
 
"
\Temp\Table.xls"
 
5、 保存Excel文件 
objExcelBook.Save (笔者测试时保存成功,页面报错。) 
6、 退出Excel操作 
objExcelApp.Quit 一定要退出 
set 
objExcelApp 
= 
Nothing 
三、 ASP操作Excel生成数据表 
1、 在一个范围内插入数据 
objExcelSheet.Range("
B3:k3"
).Value 
= 
Array("
67"
, 
"
87"
, 
"
5"
, 
"
9"
, 
"
7"
, 
"
45"
, 
"
45"
, 
"
54"
, 
"
54"
, 
"
10"
) 
2、 在一个单元格内插入数据 
objExcelSheet.Cells(3,1).Value="
Internet 
Explorer"
 
3、 选中一个范围 
4、 单元格左边画粗线条 
5、 单元格右边画粗线条 
6、 单元格上边画粗线条 
7、 单元格下边画粗线条 
8、 单元格设定背景色 
9、 合并单元格 
10、 插入行 
11、 插入列 
四、 ASP操作Excel生成Chart图 
1、 创建Chart图 
objExcelApp.Charts.Add 
2、 设定Chart图种类 
objExcelApp.ActiveChart.ChartType 
= 
97 
注:二维折线图,4;二维饼图,5;二维柱形图,51 
3、 设定Chart图标题 
objExcelApp.ActiveChart.HasTitle 
= 
True 
objExcelApp.ActiveChart.ChartTitle.Text 
= 
"
A 
test 
Chart"
 
4、 通过表格数据设定图形 
objExcelApp.ActiveChart.SetSourceData 
objExcelSheet.Range("
A1:k5"
),1 
5、 直接设定图形数据(推荐) 
objExcelApp.ActiveChart.SeriesCollection.NewSeries 
objExcelApp.ActiveChart.SeriesCollection(1).Name 
= 
"
="
"
333"
"
"
 
objExcelApp.ActiveChart.SeriesCollection(1).Values 
= 
"
=
{1,4,5,6,2}"
 
6、 绑定Chart图 
objExcelApp.ActiveChart.Location 
1 
7、 显示数据表 
objExcelApp.ActiveChart.HasDataTable 
= 
True 
8、 显示图例 
objExcelApp.ActiveChart.DataTable.ShowLegendKey 
= 
True 
五、 服务器端Excel文件浏览、下载、删除方案 
浏览的解决方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以实现,建议用客户端的方法,原因是给服务器更多的时间生成Excel文件。 
下载的实现要麻烦一些。用网上现成的服务器端下载组件或自己定制开发一个组件是比较好的方案。另外一种方法是在客户端操作Excel组件,由客户端操作服务器端Excel文件另存至客户端。这种方法要求客户端开放不安全ActiveX控件的操作权限,考虑到通知每个客户将服务器设置为可信站点的麻烦程度建议还是用第一个方法比较省事。 
删除方案由三部分组成: 
A: 同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。这样新文件生成时自动覆盖上一文件。 
B: 在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。 
C: 在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。 
注:建议目录结构 
\Src 
代码目录 
\Templet 
模板目录 
\Temp 
暂存目录 
六、 附录 
出错时Excel出现的死进程出现是一件很头疼的事情。在每个文件前加上“On 
Error 
Resume 
Next”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到“Application.Quit”,保证每次程序执行完不留下死进程。
1、开始---运行---dcomcnfg
2、组件服务---计算机---我的电脑---dcom配置---Microsoft 
Excel应用程序(右键)---属性---安全
3、启动和激活权限 
选择自定义,点击编辑,添加用户everyone并给予所有权限
4、访问权限、配置权限同上
二、 ASP对Excel的基本操作 
1、 建立Excel对象 
set 
objExcelApp 
= 
CreateObject("
Excel.Application"
) 
objExcelApp.DisplayAlerts 
= 
false 不显示警告 
objExcelApp.Application.Visible 
= 
false 不显示界面 
2、 新建Excel文件 
objExcelApp.WorkBooks.add 
set 
objExcelBook 
= 
objExcelApp.ActiveWorkBook 
set 
objExcelSheets 
= 
objExcelBook.Worksheets 
set 
objExcelSheet 
= 
objExcelBook.Sheets(1) 
3、 读取已有Excel文件 
strAddr 
= 
Server.MapPath("
."
) 
objExcelApp.WorkBooks.Open(strAddr 
&
#38
 
"
\Templet\Table.xls"
) 
set 
objExcelBook 
= 
objExcelApp.ActiveWorkBook 
set 
objExcelSheets 
= 
objExcelBook.Worksheets 
set 
objExcelSheet 
= 
objExcelBook.Sheets(1) 
4、 另存Excel文件 
objExcelBook.SaveAs 
strAddr 
&
#38
 
"
\Temp\Table.xls"
 
5、 保存Excel文件 
objExcelBook.Save (笔者测试时保存成功,页面报错。) 
6、 退出Excel操作 
objExcelApp.Quit 一定要退出 
set 
objExcelApp 
= 
Nothing 
三、 ASP操作Excel生成数据表 
1、 在一个范围内插入数据 
objExcelSheet.Range("
B3:k3"
).Value 
= 
Array("
67"
, 
"
87"
, 
"
5"
, 
"
9"
, 
"
7"
, 
"
45"
, 
"
45"
, 
"
54"
, 
"
54"
, 
"
10"
) 
2、 在一个单元格内插入数据 
objExcelSheet.Cells(3,1).Value="
Internet 
Explorer"
 
3、 选中一个范围 
4、 单元格左边画粗线条 
5、 单元格右边画粗线条 
6、 单元格上边画粗线条 
7、 单元格下边画粗线条 
8、 单元格设定背景色 
9、 合并单元格 
10、 插入行 
11、 插入列 
四、 ASP操作Excel生成Chart图 
1、 创建Chart图 
objExcelApp.Charts.Add 
2、 设定Chart图种类 
objExcelApp.ActiveChart.ChartType 
= 
97 
注:二维折线图,4;二维饼图,5;二维柱形图,51 
3、 设定Chart图标题 
objExcelApp.ActiveChart.HasTitle 
= 
True 
objExcelApp.ActiveChart.ChartTitle.Text 
= 
"
A 
test 
Chart"
 
4、 通过表格数据设定图形 
objExcelApp.ActiveChart.SetSourceData 
objExcelSheet.Range("
A1:k5"
),1 
5、 直接设定图形数据(推荐) 
objExcelApp.ActiveChart.SeriesCollection.NewSeries 
objExcelApp.ActiveChart.SeriesCollection(1).Name 
= 
"
="
"
333"
"
"
 
objExcelApp.ActiveChart.SeriesCollection(1).Values 
= 
"
=
{1,4,5,6,2}"
 
6、 绑定Chart图 
objExcelApp.ActiveChart.Location 
1 
7、 显示数据表 
objExcelApp.ActiveChart.HasDataTable 
= 
True 
8、 显示图例 
objExcelApp.ActiveChart.DataTable.ShowLegendKey 
= 
True 
五、 服务器端Excel文件浏览、下载、删除方案 
浏览的解决方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以实现,建议用客户端的方法,原因是给服务器更多的时间生成Excel文件。 
下载的实现要麻烦一些。用网上现成的服务器端下载组件或自己定制开发一个组件是比较好的方案。另外一种方法是在客户端操作Excel组件,由客户端操作服务器端Excel文件另存至客户端。这种方法要求客户端开放不安全ActiveX控件的操作权限,考虑到通知每个客户将服务器设置为可信站点的麻烦程度建议还是用第一个方法比较省事。 
删除方案由三部分组成: 
A: 同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。这样新文件生成时自动覆盖上一文件。 
B: 在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。 
C: 在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。 
注:建议目录结构 
\Src 
代码目录 
\Templet 
模板目录 
\Temp 
暂存目录 
六、 附录 
出错时Excel出现的死进程出现是一件很头疼的事情。在每个文件前加上“On 
Error 
Resume 
Next”将有助于改善这种情况,因为它会不管文件是否产生错误都坚持执行到“Application.Quit”,保证每次程序执行完不留下死进程。
asp操作excel文件