网络编程
位置:首页>> 网络编程>> Asp编程>> ASP导出Excel数据的四种办法(2)

ASP导出Excel数据的四种办法(2)

  发布时间:2007-08-26 18:32:00 

标签:Excel,asp,导出

二、用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>

 

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com