注意:两个函数中的“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>
三、直接在IE中打开,再存为Excel文件
以