ASP操作Excel技术总结

时间:2024.4.27

ASP操作Excel技术总结

目录

一、 环境配置

二、 ASP对Excel的基本操作

三、 ASP操作Excel生成数据表

四、 ASP操作Excel生成Chart图

五、 服务器端Excel文件浏览、下载、删除方案

六、 附录

正文

一、 环境配置

服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:

1.Win9x+PWS+Office

2.Win20xx Professional+PWS+Office

3.Win20xx Server+IIS+Office

目前笔者测试成功的环境是后二者。Office的版本没有特殊要求,考虑到客户机配置的不确定性和下兼容特性,建议服务器端Office版本不要太高,以防止客户机下载后无法正确显示。

服务器端环境配置还有两个偶然的发现是:

1. 笔者开发机器上原来装有金山的WPS20xx,结果Excel对象创建始终出现问题,卸载WPS20xx后,错误消失。

2. 笔者开发ASP代码喜欢用FrontPage,结果发现如果FrontPage打开(服务器端),对象创建出现不稳定现象,时而成功时而不成功。扩展考察后发现,Office系列的软件如果在服务器端运行,则Excel对象的创建很难成功。

服务器端还必须要设置的一点是COM组件的操作权限。在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择Microsoft Excel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。保存完毕后重新启动服务器。

客户端的环境配置没发现什么特别讲究的地方,只要装有Office和IE即可,版本通用的好象都可以。

二、 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 & "\Templet\Table.xls")

set objExcelBook = objExcelApp.ActiveWorkBook

set objExcelSheets = objExcelBook.Worksheets

set objExcelSheet = objExcelBook.Sheets(1)

4、 另存Excel文件

objExcelBook.SaveAs strAddr & "\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技术总结


目录

一、 环境配置

二、 ASP对Excel的基本操作

三、 ASP操作Excel生成数据表

四、 ASP操作Excel生成Chart图

五、 服务器端Excel文件浏览、下载、删除方案

六、 附录

正文

一、 环境配置

服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:

1.Win9x+PWS+Office

2.Win20xx Professional+PWS+Office

3.Win20xx Server+IIS+Office

目前笔者测试成功的环境是后二者。Office的版本没有特殊要求,考虑到客户机配置的不确定性和下兼容特性,建议服务器端Office版本不要太高,以防止客户机下载后无法正确显示。 服务器端环境配置还有两个偶然的发现是:

1. 笔者开发机器上原来装有金山的WPS20xx,结果Excel对象创建始终出现问题,卸载WPS20xx后,错误消失。

2. 笔者开发ASP代码喜欢用FrontPage,结果发现如果FrontPage打开(服务器端),对象创建出现不稳定现象,时而成功时而不成功。扩展考察后发现,Office系列的软件如果在服务器端运行,则Excel对象的创建很难成功。

服务器端还必须要设置的一点是COM组件的操作权限。在命令行键入“DCOMCNFG”,则进入COM组件配置界面,选择Microsoft Excel后点击属性按钮,将三个单选项一律选择自定义,编辑中将Everyone加入所有权限。保存完毕后重新启动服务器。

客户端的环境配置没发现什么特别讲究的地方,只要装有Office和IE即可,版本通用的好象都可以。

二、 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 & "\Templet\Table.xls ")

set objExcelBook = objExcelApp.ActiveWorkBook

set objExcelSheets = objExcelBook.Worksheets

set objExcelSheet = objExcelBook.Sheets(1)

4、 另存Excel文件

objExcelBook.SaveAs strAddr & "\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 ",

"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、 显示图例

"9 ", "7 ",

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导入ACCESS

demo.asp

<%

Dim cn,oConn,connstr

'打开XLS.

Set cn = Server.CreateObject("ADODB.Connection")

cn.Provider = "Microsoft.Jet.OLEDB.4.0 "

cn.ConnectionString = "Data Source=" & Server.MapPath("data.xls") & ";" & _

"Extended Properties=Excel 8.0;"

cn.Open

'打开MDB.

connstr="DBQ="+server.MapPath("data.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

set oConn=server.CreateObject("ADODB.CONNECTION")

oConn.open connstr

'读取数据.

set rsRead=server.CreateObject("ADODB.Recordset")

rsRead.Open "select * from [Sheet1$]",cn,1,1

do until rsRead.EOF

'写入数据库.

oConn.Execute("Insert into users(userid,password)Values('"& rsRead.Fields("userid")&"','" &rsRead.Fields("password") & "')" )

rsRead.MoveNext

loop

%>

数据库data.mdb

表users

id,uesrid,password

Excel文件data.xls

数据

userid password

wang w521

zhange z254

hong h112

'================!!!!ASP读取EXCEL注事项!!!!======================

'i)将Excel97或Excel20xx生成的XLS文件(book)看成一个数据库,其中的每一个工作表(sheet)看成数据库表

'ii)ADO假设Excel中的第一行为字段名.所以你定义的范围中必须要包括第一行的内容

'iii)Excel中的行标题(即字段名)不能够包含数字. Excel的驱动在遇到这种问题时就会出错的。例如你的行标题名为“F1”

'iiii)如果你的Excel电子表格中某一列同时包含了文本和数字的话,那么Excel的ODBC驱动将不能够正常, 处理这一行的数据类型,你必须要保证该列的数据类型一致

'====================================================

更多相关推荐:
Excel总结

自动套用格式:全选------“格式”菜单下的“自动套用格式”设置边框线:选中----“格式”----单元格-----边框选项卡字体设置:选中--“格式”--单元格--字体选项卡设置填充色:选中--“格式”--…

Excel总结知识点

Excel知识点总结一、工作表、工作簿的基本操作1.Excel文件是一个工作簿(Book1.xls),一个工作簿默认包括3张工作表,一个工作表包括65536(行)*256(列)个单元格,多个连续的单元格组成了单…

excel总结

创建图表的方法:1,选中后按F11生成图表2,视图,工具栏,图表在小栏里选需要的(外加阴影等工具,自定义,需要的拖动到图表工具栏)3,图表向导(排序旁边),很多选项四步4,反应数据之间的关系:工具,数据分析(加…

excel总结

Excel总结开学四个星期过去了,也上了四次会计电算化的课,这四节课学了关于excel的基本操作,第一次课主要做了材料进出仓明细表。学会计专业课的时候,没有做过这个表,于是去网上搜了一下相关的资料和图表内容格式…

C#处理Excel总结及简例

C#′|àíExcel???t×ü?áéù?÷?ùóD?é?üó?μ?μ?±?á?ApplicationClassapp;Workbookswbs;Workbookwb;Worksheetswss;Worksh…

Java导出Excel总结

写Excel的方法类为JxlExcelWriter:importjxl.Workbook;importjxl.format.UnderlineStyle;importjxl.format.Colour;impo…

Excel 总结

Excel总结1.数学和三角函数ROUND函数:四舍五入ROUND(number,num_digits)2.逻辑函数IF函数:IF(logical_test,value_if_true,value_if_fal…

Excel总结 简单快捷 的学习 (本人精心准备,希望能帮助到大家)

一、简介1、快捷键:ctrl+n新建;ctrl+o打开;ctrl+s保存;ctrl+z撤销;ctrl+x剪切;ctrl+c复制;ctrl+v粘贴;ctrl+f查找替换2、自动保存工具——选项——保存——自动恢复…

Excel电子表格计算公式使用方法25条公式技巧总结

Excel电子表格计算公式使用方法25条公式技巧总结对于Excel表格计算公式的方法实在太多,今天就整理了一个公式大全需要对有需要的朋友有些帮助。1、两列数据查找相同值对应的位置=MATCH(B1,A:A,0)…

计算机一级考试历年常见考点总结:Excel电子表格

Excel电子表格(一定要保存正确)1、插入行、列;设置行高、列宽,最适合行高、最适合列宽的设置;调整行或列的顺序(剪切/粘贴);2、合并及居中,注意不要整行合并;3、设置单元格格式:数字、对齐、字体、边框、底…

Excel电子表格函数总结

电子表格常用函数集And(表达式,表达式2,……)OR(表达式,表达式2,……)If(表达式,式真返回值,式假返回值)Mod(a,b)Sum()Sumif(区域1,条件,区域2)&&区域1满足条件的,在其对应区…

excel电子表格应用实例学习心得

Excel电子表格实例应用学习心得经过对Excel电子表格实例应用课程的学习让我获益匪浅这门课程的学习让我充分认识到了excel在我们以后工作中的重要性随着市场经济的发展科技的飞速进步能够熟练的掌握excel软...

excel总结(37篇)