ASP向Excel导数据(图片)终结版 ASP操作Excel

相信有很多人有用程序向Excel导数据的需求, 且做过. 一般导出一些文本数据是很方便的, 可选方法很多, 比如拼接文本字符串存.cvs格式(以逗号与回车符分隔数据,默认用Excel打开), 比如把xls文件当成数据用SQL来操作 等等. 当需要导出图片数据的时候该怎么办? 这就需要使用Excel.Application对象.

实际上用Excel.Application可以做到OfficeExcel软件所能做到的全部操作, 功能相当强大. 但我们每个人学习精力有限, 不可能每个都对它很熟悉. 于是乎, 我选用了大量的关键词在百度与Google上搜索, 希望能得到一些有价值的东西. 但找来找去, 没发现一篇是完整版, 大多数是询问的, 而且代码中包含诸多的明显错误与功能上的缺性. 值得批评的是, 大量站点直接复制他人站点文章, 而且还是劣质文章. 诶, 不找也罢! 佛曰 我不下地狱谁下地狱, 于是我给大家把这个工作给做了.

我首先找了个VBA的手册合集, 还好它是chm格式. 打开其中的Vbaexcelxl10.chm, 嗯, 不错不错, 确实是一个不错的手册, 但是, 它不是一个教程, 欲哭无泪… 没办法, 只好硬头皮看下去. 手册毕竟是手册, 不会一把些细节上的便捷操作提出来, 也不会把各部分内容的逻辑关联讲得很完整. 经过我仔细的分析, 大胆的预测, 周密的思考, 大量的试验, 上刀山,下火锅, 不对,是火海, 好不容易才把它完美的实现了. 现在, 又把它连夜传到Web630.Net上, 仅仅只是希望大家记住这个站点, 同时希望各技术站多点原创文章, 为中国的程序业发展做点贡献.

复制代码 代码如下:

<%

Rem 初始化ExcelApplication的工作环境

Dim ExcelApp,eBook,eSheet

Set ExcelApp = CreateObject(”Excel.Application”) ‘建立Excel对象

ExcelApp.DisplayAlerts=false ‘不显示警告

ExcelApp.Application.Visible=false ‘不显示界面

Rem 初始化Excel数据

‘ExcelApp.Workbooks.Open(Server.MapPath(”zzz.xls”)) ‘打开Excel工作本,可替换下面一行

Set eBook=ExcelApp.Workbooks.Add ‘新建Excel工作本

Set eBook=ExcelApp.Workbooks(1) ‘引用第一个工作本

set eSheet = eBook.Worksheets(1) ‘引用第一个工作表

Rem 数据导入

Dim i,img

i = 1

For i=1 To 5

eSheet.Cells(i,1).Value=”字段一”&i

eSheet.Cells(i,2).Value=”字段二”&i

eSheet.Cells(i,3).Value=”字段三”&i

eSheet.Cells(i,4).Select ‘选择第i行第4个单元单元格

Set img=eSheet.Pictures.Insert(Server.MapPath(”people.jpg”)) ‘在上述位置插入图片,并得到图片的引用

img.Top=img.Top+2 ‘调整图片位置,下同, 否则它会压住表格边线

img.Left=img.Left+2 ‘单位是磅

eSheet.Rows(i).RowHeight=img.Height+4 ‘调整当前行的高度,让它自动与图片高度相同

Next

Rem 保存上述所做的工作

‘eBook.Save ‘如果是打开已经存在的Excel文件,则可选用这行来代替下面一行

eBook.SaveAs Server.MapPath(”zzz.xls”)

Set eSheet=Nothing

Set eBook=Nothing

‘ExcelApp.Quit ‘一定要退出, 否则Excel的进程留在操作系统中.

set ExcelApp = Nothing

%>

ASP向Exce读取或写入数据时, 比较简洁的一种方法是把Excel当作数据库使用SQL语句来操作. 网上很多地方都有相关的文章, 本文仅作为《ASP向Excel导数据(图片)终结版》的辅助资料给大家参考.

复制代码 代码如下:

<%

Dim conn,rs,sql

Sub DBOpen()

Dim db : db=Server.MapPath(”zzz.xls”)

Set conn=Server.CreateObject(”Adodb.Connection”)

On Error Resume Next

conn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=”"Excel 8.0;HDR=YES”";Data Source=” & db

Rem HDR 默认为YES,表示第一行作为字段名, 否则视它为内容

Rem 对于Excel2007,而应为: “Provider=Microsoft.ACE.OLEDB.12.0; Extended Properties=Excel 12.0;Data Source=xxx.xlsx;”

If Err.Number<>0 then

Err.Clear

Response.Write(”<h1>The Database link is ERROR</h1>”)

Response.End()

End If

On Error GoTo 0

End Sub

Sub DBClose()

If IsNotBlank(conn) Then

conn.Close()

Set conn=Nothing

End If

End Sub

Function IsNotBlank(ByRef TempVar)

IsBlank = True

Select Case VarType(TempVar)

Case 0,1 ‘Empty & Null

IsBlank = False

Case 9 ‘Object

If TypeName(TempVar) = “Nothing” Or TypeName(TempVar) = “Empty” Then

IsBlank = False

End If

End Select

End Function

Call DBOpen()

sql=”SELECT * FROM [Sheet1$]” ‘注意表名的写法, 需要在工作表名的后面加符号$

Set rs=conn.Execute(sql)

While Not rs.Eof

Response.Write(rs(0)&”, “)

Response.Write(rs(1)&”, “)

Response.Write(rs(2)&”<br />”&VbCrLf)

rs.Movenext

Wend

rs.Close : Set rs=Nothing

Call DBClose()

%>

时间: 2024-08-02 00:04:17

ASP向Excel导数据(图片)终结版 ASP操作Excel的相关文章

ASP向Excel导数据(图片)终结版 ASP操作Excel_应用技巧

相信有很多人有用程序向Excel导数据的需求, 且做过. 一般导出一些文本数据是很方便的, 可选方法很多, 比如拼接文本字符串存.cvs格式(以逗号与回车符分隔数据,默认用Excel打开), 比如把xls文件当成数据用SQL来操作 等等. 当需要导出图片数据的时候该怎么办? 这就需要使用Excel.Application对象. 实际上用Excel.Application可以做到OfficeExcel软件所能做到的全部操作, 功能相当强大. 但我们每个人学习精力有限, 不可能每个都对它很熟悉. 于

新手,想对一个excel进行增删查减的操作,是把excel转化成access方便还是直接操作excel方便?

问题描述 想实现对一个excel的内容进行提取,再新建一个excel存取添加一些信息. 解决方案 解决方案二:直接用npoi进行excel的读取和创建.解决方案三:C#中有对EXCEL操作的函数库,你需要引用Microsoft.Office.Interop.Excel,并和你本地的office版本对应.剩下的你只需要熟悉一下excel的新建,写入和导出内容等操作,这些网上都有很多.解决方案四:publicDataSetExcelToDS(stringPath){stringstrConn="Pr

C# 操作Excel之旁门左道 [ C# | Excel ]

前言 C#使用自带的库(Excel 11.0/5.0 Object Library)操作Excel一直以来都有些问题,最严重的要数有时候Excel进程结束不掉这个问题,操作起来也不是很方便.其实Excel用得稍熟点的朋友就知道Excel可以导出为html格式的文件,我想说到这里大家应该大致明白本文的意图了,下面我为大家做一个范例.   环境 1. Microsoft Office Excel 2003   正文 一.目的  从数据库导出数据到Excel中并锁定部分数据不让修改.这里以学生成绩表为

自己封装的poi操作Excel工具类

       在上一篇文章<使用poi读写Excel>中分享了一下poi操作Excel的简单示例,这次要分享一下我封装的一个Excel操作的工具类.        该工具类主要完成的功能是:读取Excel.汇总Excel的功能.在读取时,可以设定开始和结束读取的位置.设定是否读取多个sheet.设定读取那个或者那些sheet等.在汇总时,如设定是否覆盖目标文件.设定是否比较检查重复内容.设定检查重复的列索引等功能.具体来演示一下吧:        工具类源码: package com.tgb.

C#操作Excel的另类方法

前言 C#使用自带的库(Excel 11.0/5.0 Object Library)操作Excel一直以来都有些问题,最严重的要数有 时候Excel进程结束不掉这个问题,操作起来也不是很方便.其实Excel用得稍熟点的朋友就知道Excel可 以导出为html格式的文件,我想说到这里大家应该大致明白本文的意图了,下面我为大家做一个范例. 环境 1. Microsoft Office Excel 2003 正文 一.目的 从数据库导出数据到Excel中并锁定部分数据不让修改.这里以学生成绩表为例,

ASP编程操作Excel(提高版)

摘 要 主要介绍用Excel做数据库并使用ASP编程对其进行操作关键词 ASP,Excel,编程,数据库一. 问题的提出在ASP编程中会遇到很多大大小小的难题,我有一次为一家书店设计网站的时候就遇到了一个这样的难题.起初使用Access做数据库,该数据库主要是为了保存书店内图书的信息,但是当记录的条目过多时数据库的体积将会变得很大.在实际的应用中,网站的空间是有限的,很多要建设网站的客户都没有自己的主机,网站的空间是向网站空间提供商花钱购买而来的,这就要求在网站空间一定的条件下,尽量减小网站内文

求asp.net 中,在JPG图片上添加GIF动画水印的方法!

问题描述 求asp.net中,在JPG图片上添加GIF动画水印的方法!搜索了很长时间,没找到,朋友们帮忙一下! 解决方案 解决方案二:使用第三方组件加水印比较方便随便baidugoogle一下也有几百个结果解决方案三:JPG和GIF是两中格式,一种是会动的,一种是不会动的.如果你要在jpg图片上加动画水印,我是不是可以理解为你重绘了一张GIF动化效果,然后把这个JPG图片插入到每一帧当中.个人觉得太不现实也太过烦琐.解决方案四://加水印----------------->stringwImag

.NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)

.NET导出报表一般是采用导出Excel报表的方式输出内容.而这又分为两种方式:使用Excel模板方式和使用网页输出Excel格式两种.首先介绍简单的一种,网页输出Excel内容,这种不需要引用Excel的程序集.     /// <summary>    /// 报表导出辅助类    /// </summary>    public class ExportToExcel    {        字段信息                public ExportToExcel()

asp连接与操作excel的方法

excel文件也可以作为数据库使用,当然前提是它的内容要满足一定的规范,简单的做法是可以从数据库文件导出为excel文件. 1.连接字符数 有两种方式,ODBC provider和OLEDB provider (1)ODBC dim conn set conn=server.createobject("adodb.connection") conn.open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & s