利用ASP将HTML格式数据传输给Excel

2016-02-19 20:07 10 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的利用ASP将HTML格式数据传输给Excel,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - Web开发 】

  到目前为止,有好几种方法可以使用ASP技术来创立Excel数据表格,你还可以利用服务器端Excel 8.0 VBA组件建立电子数据表。但是,某些情况下服务器可能无法处理所涉及到的信息量或无法承担所形成的工作负载,因此你不得不牺牲某些为客户机提供的处理性能。本文将主要讨论有关客户端的数据表格处理问题。Excel 97具有某些特别的性能可以象处理电子表格一样处理HTML格式数据流,这一特别的处理能力仅在Excel 97或更高版本中才具有,而且用户需要建立类似Excel电子表格数据流才能更有效的给以处理。

  那么,浏览器是否也具有类似功能呢?Internet Explorer(IE)3.0或更高版本能够像Excel一样显示Microsoft Excel 工作表格, 前提是客户机需要装栽 Excel。 如果用户打开IE浏览器并输入Excel工作表格文件名做为URL,IE就会打开工作表。IE利用文件的扩展名以辨别是否是mime格式文件并启动相应的应用程序, 当IE处理Excel mime格式文件时,IE将该文件转变为application/vnd.ms- excel并启动Excel供用户查看有关的表格数据。

  本文将讨论如何建立ASP主页,该主页能够将HTML数据流传送给Excel电子数据表。 利用这一技术IE浏览器可以像Excel那样显示HTML数据表。在下面的例子当中, ASP主页将启动一组件,该组件可以处理存储在NWIND SQLSever 6.5中的雇员表记录,同时将该表以HTML表格形式显示。

  建立HTML表格

  首先建立ASP主页,将该主页添加到VisualInterDev项目中,文件名为ContentType.asp,如同图A。然后将代码A所显示的代码添加到主页中,第一行代码可以将所涉及主页的mimetype转变为Excelmimetype。下面几行代码将启动我们早先建立的组件以获取ADOR记录区的数据。这些代码如同ListingA中所显示将在记录区循环处理并建立一个HTML表格,该表格包括雇员表中每行的记录。

  代码

  A:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

CodeforaddingnewASPpagetoVisualInterDevProject
%@Language=VBscript%
%Response.ContentType="application/vnd.ms-excel"%
%
DimobjEmployee,rs
setobjEmployee=server.CreateObject("EmpReport.Employee")
Setrs=objEmployee.GetEmployee()
'DrawaTable
%
TABLE
TR
TDSTRONGFONTFACE=""size=4Employee
Report/FONT/STRONG/TD
/TR
TR
TDEmployeeId/TD
TDFirstName/TD
TDLastName/TD
TDTitle/TD
/TR
  %
Dowhilenotrs.eof
%
TR
TD
      %=rs("EmployeeId")%/TD
TD
      %=rs("LastName")%/TD
TD
      %=rs("FirstName")%/TD
TD
      %=rs("Title")%/TD
/TR
  %
rs.movenext
loop
%/TABLE

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  完成输入代码后,保存并浏览该主页。该主页如同图B。注意该电子表格中的所有行并未实行任何格式化处理。当我们使用ExcelVBA组件创立工作表格时,我们可以利用VBA方式对表格加以调整。但是,在使用HTML方式下对表格加以通常的格式化处理是比较困难的,除非你能方便地显示和读取HTML表格的有关数据。利用ASP主页技术我们能够做到这一点,而且可以实现目前MicrosoftExcel所支持的所有功能,其中包括SUM功能。需要注意的是,利用HTML创立的工作表格中没有包括一些标准的标示符号,例如HTML及BODY。当我们建立与Excel工作表格互换数据的HTML表格时,尽量不要在ASP主页中使用HTML,BODY,HEAD等标示符号,因为Excel工作表格通常无法正确这些标示符号。

  在HTML表格中使用标准的Excel功能

  Excel97允许用户利用Excel所具有的运算公式在HTML表格中实行标准的计算处理,例如使用total及sum等运算功能。利用这一特点的显著优势是,将需要实行计算处理的工作表格移到客户端处理从而极大的减少了对宝贵的服务器资源的占用,同时也减少了在服务器与客户机之间实行信息传递的网络负担。例如图C所示起名为sumit.asp的主页的情况,建立的HTML表格显示了Excel工作表格中两列的总和。请注意代码B中的代码,第一行代码将表中的内容格式转变为Excel格式,如此浏览器将得知是哪种类型的应用程序在为HTML表格传递数据。我们建立了一个具有两列的表格,第二列行中包括了两组数值:2和3。第三行中的数值为前两个数值的总和,这里使用的是Excel的=sum(b1:b2)计算功能。

  

  图C

  代码B:

CodeforcreatinganHTMLtablethatdisplayssumoftwocolumnsinExcelworksheet
%@Language=VBscript%
%Response.ContentType="application/vnd.ms-excel"%
TABLE
TR
TD/TD
TD!--Cell:B1--2/TD
/TR  
TR
TD/TD
TD!--Cell:B2--3/TD
/TR
TR
TDSTRONGSum/STRONG/TD
TD=SUM(B1:B2)/TD
/TR
/TABLE

  结论

  有好几种不同的方式可以利用浏览器应用程序显示Excel工作表格。具体使用哪一种方式要依照不同情况而定:

  你所要实行的数据处理是在客户机上还是在服务器中?

  在程序运行过程当中是否需要多种的格式化处理?

  最终用户所使用的是否是IE浏览器?

  如果你的工作表格比较复杂而且十分重要,你最好是考虑建立一Excel模板,然后利用服务器端VBACOM将数值填入。如果你的工作表格比较简单或者只是在客户机端运行处理,你可以考虑使用HTML数据流处理。另一方面,如果你的用户使用的是NetscapeNavigator浏览器,那么你的所有的数据处理必须在服务器端运行并使用COMVBA组件。

来源:http://www.tulaoshi.com/n/20160219/1622821.html

延伸阅读
标签: ASP
  如果你是在你自己的应用程序中使用以上代码,请谨记一件事情,在"ConvertFormtoXML"函数已经运行的情况下,如 果XML文件名已经存在,那么,文件将会被覆盖。在此,我建议在使用"ConvertFormtoXML"功能前,最好用随机建立的文件 名。这样,就将有价值数据被改写的风险降为零。 关于XML文件的产生,举例如下: ...
标签: ASP
       XML和HTML4。0,请读下列示例      将表单数据存为XML格式       通常的,ASP中表单提交的数据一般被写入数据库。然而,如果你想让发送数据更为简便易行,那么,可以将它书写为XML文件格式。这种方式对于在web上收集的数据更为有用。因为XML对于所用平...
标签: ASP
  如你熟知ASP,XML和HTML4。0,请读下列示例 将表单数据存为XML格式 通常的,ASP中表单提交的数据一般被写入数据库。然而,如果你想让发送数据更为简便易行,那么,可以将它书写为 XML文件格式。这种方式对于在web上收集的数据更为有用。因为XML对于所用平台来说非常的简便,所以用不着转换数据格 式。 将提交的数据写为XML文...
标签: ASP
       文档被存档之后,如果你再打开这个文档,那么则会以如下代码列表形式出现:      MyXMLDoc.xml:      <?xml version="1.0"?>   <rootElement>   <childElement1 />   <childElement2 />   </rootE...
标签: ASP
  文档被存档之后,如果你再打开这个文档,那么则会以如下代码列表形式出现: MyXMLDoc.xml: <?xml version="1.0"? <rootElement <childElement1 / <childElement2 / </rootElement 在"MyXMLDoc.xml"文档中,childElement1 和 childElement2 会以空的elements形式出现。如果它们被赋值,那么每...

经验教程

322

收藏

5
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部