你的位置: Kiyo'Space首页 ASP 阅读文章 欢迎留下您的足迹

asp导入word和excel

[ ASP ] 分享

asp导入word和excel 

 

注意:两个函数中的“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>


欢迎在此留下您的脚步






评论内容 (*必填):
(Ctrl + Enter 快速提交)