ASP操作Excel技术总结

合集下载

用ASP生成Excel数据

用ASP生成Excel数据

用ASP生成Excel数据ASP最广泛的用途之一就是生成数据库驱动的Web 报告。

通常,这只是在浏览器内的一个HTML 表格中观看报告,但对于某些用户来说是不够的。

这些用户希望下载报告的数据,用他们自己的应用程序修改它们,这些应用程序包括电子表格软件(Microsoft Excel) 或本地数据库(Microsoft Access)。

我将用ASP 示范多种将数据输出到Microsoft Excel可读格式的技巧。

通过使用一个或多个这些技巧,你就可以在你的web 页面上放置一个“输出到Excel”的选项以满足那些用户。

原文出处:/articles/19991103.htm测试环境我使用以下环境创建并测试本文提供的样本:Windows NT 4/SP5 与 IIS 4Windows 95Internet Explorer 4.x 和 5Interdev 6Homesite 4.0Access 97Excel 97这可能是将一个html 表格变成 Microsoft Excel 格式的最快方法。

ContentType 属性通知浏览器数据要被格式化为何种格式,在这里我们要的格式是Microsoft Excel。

当浏览器看到这个属性的值是Excel 时,它就提示用户保存或打开这个文件。

如果用户选择打开文件,就启动了Excel并在其中观看数据。

为使其工作正确,必须在向Response对象写入任何内容之前设置ContentType 。

此语法的例子如下:Line 1: 〈 %@ LANGUAGE="VBSCRIPT" % 〉Line 2: Response.ContentType = "application/msexcel"Line 3: % 〉点击这里可以得到有关ASP的Response 对象的ContentType属性的更多信息。

当我试图用Internet Explorer 4.x.测试时发现了一个问题,在Microsoft文章 Q185978曾经提到过。

ASP.NET中Excel数据处理的技术实现

ASP.NET中Excel数据处理的技术实现
关键词:;Excel;数据库 中图分类号:TP311.10 文献标识码:A 文章编号:1003-9767(2018)06-113-03
Technology Implementation of Excel Data Processing in
Zhou Xiaojun
(Teaching Service Center, Lijiang Teachers College, Lijiang Yunnan 674199, China)
string nnn = "zxj.xls"; FileUpload1.PostedFile.SaveAs (Server.MapPath(nnn)); 在上传了 Excel 表以后,可以完全像操作数据库表一样操 作它。事实上,Excel 也可以作为数据库使用,可以实现增删 改查,这里不再赘述。下面是实现对 Excel 表的链接字符串: String strCon
Key words: ; Excel; data base
很多基于 技术设计的系统需要导入大量规则 的数据,如学生管理系统中的学生信息,录取查询系统中的 新生信息,员工管理系统中的员工信息等。它们涉及的都是 大量规则的数据。本文丽江师范高等专科学校新生录取查询 系统为例,简述在 中 Excel 数据的处理方法。
2018 年第 6 期
信息与电脑 China Computer&Communication
数据库技术
中 Excel 数据处理的技术实现
周晓俊 (丽江师范高等专科学校 教学服务中心,云南 丽江 674199)
摘 要:在 ASP 网站开发中,涉及许多大量规则的数据,其一开始大多都是存储在 Excel 中,这些数据需要被读取 导入数据库。笔者讲述 技术如何快速导入数据库,并介绍了一些注意事项。读者可以从中大概的了解 DataSet 和 DataTable 的使用方法,并在将来的开发中举一反三。笔者分析的新生查询系统是一个经典案例,其包括最基本的数 据导入查询过程,本文所有代码都是基于此系统的。

探索服务器端Excel数据处理:ASP与ADODB的协同

探索服务器端Excel数据处理:ASP与ADODB的协同

探索服务器端Excel数据处理:ASP与ADODB的协同《探索服务器端Excel数据处理:ASP与ADODB的协同》在当今数字化时代,数据的处理和分析变得尤为重要。

尤其是在服务器端,处理Excel文件成为了一项常见且关键的任务。

本文将深入探讨如何使用ASP(Active Server Pages)和ADODB(ActiveX Data Objects)技术来处理上传的Excel文件,实现数据的有效管理和操作。

一、ASP与ADODB:服务器端数据处理的基石ASP作为一种服务器端脚本环境,能够与数据库进行交互,处理客户端请求,生成动态网页。

而ADODB则提供了一种与数据源进行交互的途径,使得在服务器端处理数据成为可能。

二、Excel文件的服务器端读取在服务器端读取Excel文件,首先需要确保文件的路径正确,然后通过ADODB连接对象建立与Excel文件的连接。

使用特定的连接字符串,可以指定Excel文件作为数据源,并设置相应的属性以适应不同的Excel版本。

三、数据的提取与处理一旦连接建立,就可以使用ASP脚本执行SQL查询,从Excel文件中提取数据。

通过遍历结果集,可以逐行读取数据,为进一步的处理和分析做准备。

四、数据的插入与数据库操作获取数据后,常见的操作是将这些数据插入到数据库中。

通过构建合适的SQL语句,可以将Excel中的数据导入到数据库表中,实现数据的持久化存储。

五、性能优化与错误处理在处理Excel文件时,性能优化和错误处理是不可忽视的环节。

合理的资源管理和错误捕捉机制,能够确保数据处理的稳定性和可靠性。

六、结语:ASP与ADODB的协同优势通过ASP和ADODB的协同工作,服务器端的Excel数据处理变得高效且灵活。

这种技术组合不仅提高了数据处理的自动化水平,还为数据驱动的Web应用提供了强大的支持。

asp操作Excel类_

asp操作Excel类_

asp操作Excel类_asp操作Excel类:%'************************************************** *****************'用法说明'Dim a'Set a=new CreateExcel'a.SavePath="x" '保存路径'a.SheetName="工作簿名称" '多个工作表a.SheetName=array("工作簿名称一","工作簿名称二")'a.SheetTitle="表名称" '可以为空多个工作表a.SheetName=array("表名称一","表名称二")'a.Data =d '二维数组 '多个工作表 array(b,c) b与c 为二维数组'Dim rs'Set rs=server.CreateObject("Adodb.RecordSet")'rs.open "Select id, classid, className from [class] ",conn, 1, 1'a.AddDBData rs, "字段名一,字段名二", "工作簿名称", "表名称", true 'true自动猎取表字段名'a.AddData c, true , "工作簿名称", "表名称" 'c二维数组 true 第一行是否为标题行'a.AddtData e, "Sheet1" '按模板生成c=array(array("AA1", "内容"), array("AA2", "内容2")) 'a.Create()'edTime 生成时间,毫秒数'a.SavePath 保存路径'Set a=nothing'设置COM组件的操作权限。

Asp环境下的Excel导入导出技术浅析

Asp环境下的Excel导入导出技术浅析

环境下的Excel导入导出技术浅析——软件应用开发二部张XX1综述项目开发中经常会用到数据的导入导出,很多系统都留有Excel导入导出的功能,以便与自然人或其他系统交互数据。

只要数据交互的双方都有Excel导入导出的接口,就能很方便地格式化处理对方的数据。

一个优秀的系统必然有一些与其他系统的数据交互接口,Excel导入导出就是其中比较好的一个。

系统留出Excel导入导出接口的一般做法是实现导入Excel、导出Excel 和导出Excel模板这三种功能。

在导入导出Excel的功能上可以加入一些查询限制条件,从而实现对数据的过滤。

导出的Excel模板主要是方便其他系统直接使用,在Excel模板文件中可以预设好固定的格式,包括字体颜色大小,合并单元格等。

开发者可以通过系统程序生成Excel模板文件,对于丰富格式的模板最好通过Microsoft Excel软件设置并保存起来。

Microsoft Excel是优秀的软件产品,有着丰富的功能,对Excel文件进行编程操作也有多种方法。

主要有Excel文件Sql连接读写、Excel Com组件读写、字符流Excel文件读写三种方式。

技术有着大量的B/S应用,具有很好的易用性和丰富的功能。

本文使用的C#后台语言,结合有着较完美功能和界面的Ext前台JS 脚本技术进行Excel文件的读写操作和导入导出演示说明。

本文将分别从Excel导入和导出两个方面分析几种可能的方法,对方法应用中可能遇到的问题也视情况进行探讨。

最后比较各个方法的优缺点,总结使用的方式和注意事项等。

网络上已经有了大量的关于 Excel导入导出的资料,在参考这些资料的基础上本文侧重实践应用中遇到的一些问题的解决和汇总分析。

2Excel导入导入主要有两种方式Excel文件Sql连接读取和Excel Com组件读取。

把Excel文件保存成CSV文件(列之间用英文逗号分隔,行之间用换行符分隔)或者TXT文件(列之间用制表符分隔,行之间用换行符分隔),然后再使用文本流的方式读取也可以作为一种方法。

ASP对Excel的所有操作

ASP对Excel的所有操作
删除方案由三部分组成:
A: 同一用户生成的Excel文件用同一个文件名,文件名可用用户ID号或SessionID号等可确信不重复字符串组成。这样新文件生成时自动覆盖上一文件。
B: 在Global.asa文件中设置Session_onEnd事件激发时,删除这个用户的Excel暂存文件。
C: 在Global.asa文件中设置Application_onStart事件激发时,删除暂存目录下的所有文件。
6、 绑定Chart图
objExcelApp.ActiveChart.Location 1
7、 显示数据表
objExcelApp.ActiveChart.HasDataTable = True
8、 显示图例
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
目录
一、 环境配置
二、 ASP对Excel的基本操作
三、 ASP操作Excel生成数据表
四、 ASP操作E件浏览、下载、删除方案
六、 附录
正文
一、 环境配置
服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:
1.Win9x+PWS+Office
2、 新建Excel文件
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)

告别ASPNET操作EXCEL的烦恼(总结篇)

告别ASPNET操作EXCEL的烦恼(总结篇)

Copy From 告别操作EXCEL的烦恼(总结篇)公元19XX年前,关于EXCEL的操作就如滔滔江水,连绵不绝,真正操作EXCEL我也是从去年下半年开始的,有些比较复杂的年度报表之类的,做起来也有点费力,不过还是都能画出来了,关于EXCEL的报表导出,考虑到导出耗时的问题我主要采用AJAX来做的,分别捕捉几个起止状态,给客户端提示3个状态:正在检索数据。

---》准备导出数据。

(只是从数据库成功取出,还没有读写excel文件)--》正在读写文件--》导出数据成功,当然如果哪一过程出错,都有对应的提示,只所以想到写这篇文章,主要是因为今年有个系统的部分EXCEL的操作也让我做,顺便结合之前操作EXCEL的经验作一下总结,可能也算不上什么,对于绝大多数来说也没什么技术含量,网上一搜一大把,但我想还是有必要总结一下,至少能给园子里的新手些许帮助,OK,Let's Go...一. 程序操作EXCEL的应用主要还是在统计报表方面,您可能会考虑读EXCEL模板,也可能会考虑没必要读模板,其实读不读模板都能达到一样的效果,看实际情况而用了。

1. 读模板的话,首先模板存放在某个路径下,根据模板把从数据库里取出的数据写回EXCEL然后生成一个新的EXCEL存放都另一个路径以供下载,模板不变。

我这里的EXCEL操作主要是在VS2005里的,VS2003也可以的,不过没怎么研究03里的操作(文章最后我会把05,03的示例下载地址贴上)vs05中操作EXCEL直接引用.NET自带的COM组件,添加后项目的bin目录下会自动出现Interop.Excel.dll这个DLL(需安装office2003 excel,下面的说明及示例都是基于office2003的,版本不同调用可能会不一样)页面的命名空间引用using Excel;下面是调用模板的一段代码1#region使用模板导出Excel表2case"ReportByTemp":3 {45 DataView dv = Cache["ReportByTemp"] as DataView;6//建立一个Excel.Application的新进程7 Excel.Application app =new Excel.Application();8if (app ==null)9 {10return;11 }12 app.Visible =false;13 erControl =true;14 Workbooks workbooks = app.Workbooks;15 _Workbook workbook = workbooks.Add(template_path +"\\EXCEL测试模板.xls");//这里的Add方法里的参数就是模板的路径16 Sheets sheets = workbook.Worksheets;17 _Worksheet worksheet = (_Worksheet)sheets.get_Item(1);//模板只有一个sheet表18if (worksheet ==null)19 {20return;21 }2223int rowNum =0;24for (int i =0; i < span> dv.Count; i++)25 {26 rowNum = i +1;27 worksheet.Cells[3+ i, 1] = rowNum;28 worksheet.Cells[3+ i, 2] = dv[i].Row[0].T oString();29 worksheet.Cells[3+ i, 3] = dv[i].Row[1].T oString();3031 excelOperate.SetBold(worksheet, worksheet.Cells[3+ i, 1], worksheet.Cells[3+ i, 1]); //黑体32 excelOperate.SetHAlignCenter(worksheet, worksheet.Cells[3+ i, 1], worksheet.Cells [3+ i, 3]);//居中33 worksheet.get_Range(worksheet.Cells[3+ i, 1], worksheet.Cells[3+ i, 3]).Borders.Col or = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);3435 }3637 tick = DateTime.Now.Ticks.ToString();38 save_path = temp_path +"\\"+ tick +".xls";39 workbook.SaveAs(save_path, Missing.Value, Missing.Value, Missing.Value, Missing.Va lue, Missing.Value, Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Valu e, Missing.Value, Missing.Value);40 excelOperate.Dispose(worksheet, workbook, app);//关闭Excel进程4142 }43break;44#endregion效果如下:2. 不读模板的话,调用的时候其实会继承一个空白模板,然后写入数据,程序画表头,最终达到一样的效果,程序如下:1#region不使用模板生成Excel表2case"ReportByNone":3 {45 DataView dv = Cache["ReportByNone"] as DataView;6//建立一个Excel.Application的新进程7 Excel.Application app =new Excel.Application();8if (app ==null)9 {10return;11 }12 app.Visible =false;13 erControl =true;14 Workbooks workbooks = app.Workbooks;15 _Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);//这里的Add方法里的参数就相当于继承了一个空模板(暂这样理解吧)16 Sheets sheets = workbook.Worksheets;17 _Worksheet worksheet = (_Worksheet)sheets.get_Item(1);18if (worksheet ==null)19 {20return;21 }2223 worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, 3]).Merge(Missing.Val ue); //横向合并24 worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, 1]).Value2 ="导出EXCEL测试一";25 excelOperate.SetBold(worksheet, worksheet.Cells[1, 1], worksheet.Cells[1, 1]); //黑体26 excelOperate.SetHAlignCenter(worksheet, worksheet.Cells[1, 1], worksheet.Cells[1, 1] );//居中27 excelOperate.SetBgColor(worksheet, worksheet.Cells[1, 1], worksheet.Cells[1, 1], Syst em.Drawing.Color.Red);//背景色28 excelOperate.SetFontSize(worksheet, worksheet.Cells[1, 1], worksheet.Cells[1, 1], 16); //字体大小29 excelOperate.SetRowHeight(worksheet, worksheet.Cells[1, 1], worksheet.Cells[1, 1], 3 2.25);//行高30 worksheet.get_Range(worksheet.Cells[1, 1], worksheet.Cells[1, 1]).Borders.Color = Sy stem.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);//黑色连续边框3132 worksheet.Cells[2, 1] ="序号";33 worksheet.Cells[2, 2] ="公司";34 worksheet.Cells[2, 3] ="部门";35 excelOperate.SetBold(worksheet, worksheet.Cells[2, 1], worksheet.Cells[2, 3]); //黑体36 worksheet.get_Range(worksheet.Cells[2, 1], worksheet.Cells[2, 3]).Borders.Color = Sy stem.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);37 excelOperate.SetHAlignRight(worksheet, worksheet.Cells[2, 1], worksheet.Cells[2, 3]);38 excelOperate.SetBgColor(worksheet, worksheet.Cells[2, 1], worksheet.Cells[2, 3], Syst em.Drawing.Color.Silver);//背景色39int rowNum =0;40for (int i =0; i < span> dv.Count; i++)41 {42 rowNum = i +1;43 worksheet.Cells[3+ i, 1] = rowNum;44 worksheet.Cells[3+ i, 2] = dv[i].Row[0].T oString();45 worksheet.Cells[3+ i, 3] = dv[i].Row[1].T oString();4647 excelOperate.SetBold(worksheet, worksheet.Cells[3+ i, 1], worksheet.Cells[3+ i, 1]); //黑体48 excelOperate.SetHAlignCenter(worksheet, worksheet.Cells[3+ i, 1], worksheet.Cells [3+ i, 3]);//居中49 worksheet.get_Range(worksheet.Cells[3+ i, 1], worksheet.Cells[3+ i, 3]).Borders.Col or = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);//设置边框颜色,不然打印预览,会非常不雅观5051 }52 excelOperate.SetColumnWidth(worksheet, "A", 10);53 excelOperate.SetColumnWidth(worksheet, "B", 20);54 excelOperate.SetColumnWidth(worksheet, "C", 20);55 ="导出EXCEL测试一";5657 tick = DateTime.Now.Ticks.ToString();58 save_path = temp_path +"\\"+ tick +".xls";59 workbook.SaveAs(save_path, Missing.Value, Missing.Value, Missing.Value, Missing.Va lue, Missing.Value, Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Valu e, Missing.Value, Missing.Value);60 excelOperate.Dispose(worksheet, workbook, app);//关闭Excel进程6162 }63break;6465#endregion效果如下:以上我给了两个最简单的操作说明,下面详细说一下对于一些稍微复杂的报表的生成处理二. 对于复杂的EXCEL报表的生成处理,无非是纵向合并相同的数据行及嵌套纵向合并等一些操作,下面就几个具有针对性的报表作下说明.1.要生成相对复杂的EXCEL表,在从数据库取数据时,要注意先按照合理的要求排好序,有时候可能order by后面要跟好几个字段,而且这几个字段谁先谁后也要注意,因为这些会直接影响报表呈现的效果,比如你的EXCEL表要按月份统计国内外的项目,显示出来的时候要多个项目相同的人连续,那么排序就可能要这样order by 月份,项目类别,用户ID,项目ID(这是写好的视图,基于视图来检索的),这个排序的字段顺序就不能变了,变了的话就不太好生成想要的形式了,如下图:这个也是动态画的,用了个简单的模板,模板就一个表头,没多大意义,除非表头很复杂而且在列表中不需要重画,考虑模板就比较好,向上面那个一月份国际的和其它月份的都是需要重画表头的。

基于ASP的应用:对EXCEL数据进行分析

基于ASP的应用:对EXCEL数据进行分析

基于ASP的应用:对EXCEL数据进行分析作者:蔡泉来源:《电脑知识与技术·学术交流》2008年第11期摘要:针对用Excel表格作统计分析报表时出现的弊端,本文利用ASP和数据库技术对Excel原始数据进行导入、分析,从而得到满足需求的报表。

关键词:ASP;Excel;报表分析中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)11-20347-021 引言随着信息时代的到来,我们的工作也日趋电子化,各种各样的电子表格、数据、信息需要我们查阅、处理。

快速有效的使用这些电子数据能提高我们的工作效率。

Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格。

Excel以其功能强大,界面友好等受到了许多用户的欢迎,他通过汇总、筛选、函数等工具可以进行数据的提取、分析,从而得到汇总分析报表。

但对于大量的数据、不同的需求,利用Excel来进行查询、分项统计等,就比较繁琐、效率也很低。

例如有一家通信类公司,每天需要统计装机报表、业务报表,这几个报表的原始数据都来源于一张每天累计和更新的受理记录表(Excel表格,有受理号码、派单时间、施工单位、市场单位、完工日期等)。

装机报表需要根据每家施工代维分类汇总,业务报表需要根据市场单位分类汇总,而且这两个报表还要分别通过装机时间、业务类型再分类。

由于施工单位和市场单位比较多,统计人员每次在受理记录表里需要反复筛选许多次,工作起来很枯燥而且效率很低。

考虑以上问题,我们提出设想:如果把Excel中的数据导入数据库的话,就可以很轻松的实现这些功能。

再通过ASP发布到网上就可以实现共享,统计速度会很快而且显示报表更直观。

具体步骤如下:2 搭建ASP运行环境以Windows 2000为例:安装IIS服务器,新设站点、配置虚拟目录。

(图1、图2)3 安装SQl SERVER数据库及配置安装sqlserver数据库,配置数据源。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ASP操作Excel技术总结目录一、环境配置二、ASP对Excel的基本操作三、ASP操作Excel生成数据表四、ASP操作Excel生成Chart图五、服务器端Excel文件浏览、下载、删除方案六、附录正文一、环境配置服务器端的环境配置从参考资料上看,微软系列的配置应该都行,即:1.Win9x+PWS+Office2.Win2000 Professional+PWS+Office3.Win2000 Server+IIS+Office目前笔者测试成功的环境是后二者。

Office的版本没有特殊要求,考虑到客户机配置的不确定性和下兼容特性,建议服务器端Office版本不要太高,以防止客户机下载后无法正确显示。

服务器端环境配置还有两个偶然的发现是:1.笔者开发机器上原来装有金山的WPS2002,结果Excel对象创建始终出现问题,卸载WPS2002后,错误消失。

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.addset objExcelBook = objExcelApp.ActiveWorkBookset objExcelSheets = objExcelBook.Worksheetsset objExcelSheet = objExcelBook.Sheets(1)3、读取已有Excel文件strAddr = Server.MapPath( ". ")objExcelApp.WorkBooks.Open(strAddr & "\Templet\Table.xls ")set objExcelBook = objExcelApp.ActiveWorkBookset objExcelSheets = objExcelBook.Worksheetsset 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.Add2、设定Chart图种类objExcelApp.ActiveChart.ChartType = 97注:二维折线图,4;二维饼图,5;二维柱形图,513、设定Chart图标题objExcelApp.ActiveChart.HasTitle = TrueobjExcelApp.ActiveChart.ChartTitle.Text = "A test Chart "4、通过表格数据设定图形objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range( "A1:k5 "),15、直接设定图形数据(推荐)objExcelApp.ActiveChart.SeriesCollection.NewSeriesobjExcelApp.ActiveChart.SeriesCollection(1).Name = "= " "333 " " "objExcelApp.ActiveChart.SeriesCollection(1).Values = "={1,4,5,6,2} "6、绑定Chart图objExcelApp.ActiveChart.Location 17、显示数据表objExcelApp.ActiveChart.HasDataTable = True8、显示图例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”,保证每次程序执行完不留下死进程。

.<body><form method= "POST " action= "1.asp?active=excel "><p> <input type= "submit " value= "导入Execl " name= "B1 " onclick= "lay.style.visibility= 'visible ' "> </p></form> <div style= "position: absolute; width: 129px; height: 45px; z-index: 1; left: 320px; t op: 159px; visibility:hidden " id= "layer1 "><table border= "1 " cellspacing= "1 " style= "border-collapse: collapse " width= "100% " id= "lay " height= "48 " bgcolor= "#C0C0C0 " bordercolor= "#000000 "><tr><td> <font size= "2 "> &nbsp; 正在导入Excel表<br>&nbsp;&nbsp;&nbsp; 请稍等..... </font> </td></tr></table></div><% if request( "active ")= "excel " then%><%set objExcelApp = CreateObject( "Excel.Application ")objExcelApp.DisplayAlerts = falseobjExcelApp.Application.Visible = falsestrAddr = Server.MapPath( ". ")objExcelApp.WorkBooks.Open(strAddr & "\zjh.xls ")set objExcelBook = objExcelApp.ActiveWorkBookset objExcelSheets = objExcelBook.Worksheetsset objExcelSheet = objExcelBook.Sheets(1)objExcelSheet.Range( "A3:k3 ").Value = Array( "99 ", "87 ", "15 ", "9 ", "7 ", "45 ", "45 ", "54 ", "54 ", "10 ")objExcelBook.SaveobjExcelApp.Quitend if%></body>。

相关文档
最新文档