有个问题困扰了我很久,希望各位朋友帮忙!先谢了!

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

有个问题困扰了我很久,希望各位朋友帮忙!先谢了!

其实是一个在ASP中导出EXCEL 的问题,不知大家有什么较好的方法呢?

我想在ASP中将查询的结果导出成EXCEL表格,可是试了很多方法都不合适

以下是网上的其中一种方法,可是我试了却不能用,提示找不到Application对象

二、用Excel的Application组件在客户端导出到Excel或Word

注意:两个函数中的“data“是网页中要导出的table的 id

<input type="hidden" name="out_word" onclick="vbscript:buildDoc" value="导出到word"

class="notPrint">

<input type="hidden" name="out_excel" onclick="AutomateExcel();" value="导出到excel"

class="notPrint">

导出到Excel代码

<SCRIPT LANGUAGE="javascript">

<!--

function AutomateExcel()

{

// Start Excel and get Application object.

var oXL = new ActiveXObject("Excel.Application";

// Get a new workbook.

var oWB = oXL.Workbooks.Add();

var oSheet = oWB.ActiveSheet;

var table = document.all.data;

var hang = table.rows.length;

var lie = table.rows(0).cells.length;

// Add table headers going cell by cell.

for (i=0;i<hang;i++)

{

for (j=0;j<lie;j++)

{

oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;

}

}

oXL.Visible = true;

oXL.UserControl = true;

}

//-->

</SCRIPT>

导出到Word代码

<script language="vbscript">

Sub buildDoc

set table = document.all.data

row = table.rows.length

column = table.rows(1).cells.length

Set objWordDoc = CreateObject("Word.Document"

objWordDoc.Application.Documents.Add theTemplate, False

objWordDoc.Application.Visible=True

Dim theArray(20,10000)

for i=0 to row-1

for j=0 to column-1

theArray(j+1,i+1) = table.rows(i).cells(j).innerTEXT

next

next

objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore("综合查询结果集" //显示

表格标题

objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.InsertBefore(""

Set rngPara = objWordDoc.Application.ActiveDocument.Paragraphs(1).Range

With rngPara

.Bold = True //将标题设为粗体

.ParagraphFormat.Alignment = 1 //将标题居中

.Font.Name = "隶书" //设定标题字体

.Font.Size = 18 //设定标题字体大小

End With

Set rngCurrent = objWordDoc.Application.ActiveDocument.Paragraphs(3).Range

Set tabCurrent = ObjWordDoc.Application.ActiveDocument.Tables.Add(rngCurrent,row,column)

for i = 1 to column

objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.InsertAfter theArray(i,1)

objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.ParagraphFormat.alignment

=1

next

For i =1 to column

For j = 2 to row

objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.InsertAfter theArray(i,j)

objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.ParagraphFormat.alignment

=1

Next

Next

End Sub

</SCRIPT>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航