javascript 操作Word和Excel的實現代碼

來源:互聯網
上載者:User

1.儲存html頁面到word 複製代碼 代碼如下:<HTML>
<HEAD>
<title>
</title>
</HEAD>
<body>
<form id="form">
<table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" >
<TR style="text-align : center;">
<TD>儲存格1</TD>
<TD>儲存格2</TD>
<TD>儲存格3</TD>
<TD>儲存格4</TD>
</TR>
<TR>
<TD colSpan=4 style="text-align : center;"><font color="red" face="Verdana">儲存格合并</FONT></TD>
</TR>
</TABLE>
<BR>
<table id = "Test" width="100%">
<tr>
<td><font color="red">test</FONT></td>
</tr>
</table>
</form>
<input type="button" onclick="javascript:MakeWord();" value="匯出頁面到Word">
<SCRIPT LANGUAGE="javascript">
function MakeWord()
{
var word = new ActiveXObject("Word.Application");
// var doc = word .documents.open("c:\test.doc"); //此處為開啟已有的模版
var doc = word .Documents.Add("",0,1);//不開啟模版直接加入內容
var Range=doc.Range();

var sel = document.body.createTextRange();
sel.moveToElementText(form);//此處form是頁面form的id
sel.select();
sel.execCommand("Copy");
Range.Paste();
word .Application.Visible = true;
alert("s");
word.Application.Selection.InlineShapes.AddPicture("c:\\m20.gif");
alert("n");
doc .saveAs("c:\\ba.doc"); //存放到指定的位置注意路徑一定要是“\\”不然會報錯
}
</SCRIPT>
</body>
</html>

2.用JS產生WORD

複製代碼 代碼如下:

<script>
function wordcontorl(){
alert("1111")
var WordApp=new ActiveXObject("Word.Application");

var wdCharacter=1
var wdOrientLandscape = 1
WordApp.Application.Visible=true;
var myDoc=WordApp.Documents.Add();

WordApp.ActiveDocument.PageSetup.Orientation = wdOrientLandscape

WordApp. Selection.ParagraphFormat.Alignment=1 //1置中對齊,0為居右
WordApp. Selection.Font.Bold=true
WordApp. Selection.Font.Size=20

WordApp. Selection.TypeText("我的標題");
WordApp. Selection.MoveRight(wdCharacter);    //游標右移字元
WordApp.Selection.TypeParagraph()         //插入段落
WordApp. Selection.Font.Size=12
WordApp. Selection.TypeText("副標題"); //分行插入日期
WordApp.Selection.TypeParagraph()         //插入段落

var myTable=myDoc.Tables.Add (WordApp.Selection.Range, 8,7) //8行7列的表格
//myTable.Style="網格型"
var aa = "我的欄位標題"

var TableRange; //以下為給表格中的儲存格賦值
for (i= 0;i<7;i++)
{
with (myTable.Cell(1,i+1).Range)
{
font.Size = 12;
InsertAfter(aa);
ColumnWidth =4
}
}

for (i =0;i<7;i++)
{
for (n =0;n<7 ;n++)
{

with (myTable.Cell(i+2,n+1).Range)
{font.Size = 12;
InsertAfter("bbbb");
}
}
}
row_count = 0;
col_count = 0
myDoc.Protect(1)
}
wordcontorl()
</script>

***************************************************************************************************
3.遍曆匯出到word
***************************************************************************************************
1、遍曆匯出每個文字框內的內容。 複製代碼 代碼如下:<script language="javascript">
function OpenWord(){//匯出word
var txt="txt";
for(i=0;i<table1.rows.length;i++)//遍曆匯出圖表和文字
{
txt="txt"+jilu[i];
myRange =mydoc.Range(myRange.End-1,myRange.End);//設定起始點
var sel=Layer1.document.body.createTextRange();
//sel.moveToElementText(table1);
sel.moveToElementText(document.all[txt]);
sel.select();
Layer1.document.execCommand('Copy');
sel.moveEnd('character');
myRange.Paste();
myRange =mydoc.Range(myRange.End-1,myRange.End);
myRange.InsertAfter("\n");
ExcelSheet.ActiveWindow.View.TableGridlines = false;//隱藏虛框
}
}
</script>

2、拷貝table1內的內容到word 複製代碼 代碼如下:<script language="javascript">
function OpenWord(){//匯出word
Layer1.style.border=0;
ExcelSheet = new ActiveXObject('Word.Application');
ExcelSheet.Application.Visible = true;
var mydoc=ExcelSheet.Documents.Add('',0,0);
myRange =mydoc.Range(0,1);
myRange =mydoc.Range(myRange.End-1,myRange.End);//設定起始點
var sel=Layer1.document.body.createTextRange();
sel.moveToElementText(table1);
sel.select();
Layer1.document.execCommand('Copy');
sel.moveEnd('character');
myRange.Paste();

myRange =mydoc.Range(myRange.End-1,myRange.End);
myRange.InsertAfter("\n");
ExcelSheet.ActiveWindow.View.TableGridlines = false;
}
</script>

**************************************************************************************************
4.操作excel
************************************************************************************************** 複製代碼 代碼如下:<%@ page c %>
<h1>content</h1>
<html>
<head>
<script language="javascript" type="text/javascript">
function MakeExcel() {
var i, j, n;
try {
var xls = new ActiveXObject("Excel.Application");
}
catch(e) {
alert( "要列印該表,您必須安裝Excel試算表軟體,同時瀏覽器須使用“ActiveX 控制項”,您的瀏覽器須允許執行控制項。請點擊【協助】瞭解瀏覽器設定方法!");
return "";
}
xls.visible =true; // 設定excel為可見
var xlBook = xls.Workbooks.Add;
var xlsheet = xlBook.Worksheets(1);
<!--合并-->
xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,7)).mergecells=true;
xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,7)).value="發卡記錄";
xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,3)).Interior.ColorIndex=5; // 設定底色為藍色
// xlsheet.Range(xlsheet.Cells(1,1),xlsheet.Cells(1,6)).Font.ColorIndex=4; // 設定字型色
// xlsheet.Rows(1). Interior .ColorIndex = 5 ;//設定底色為藍色 設定背景色 Rows(1).Font.ColorIndex=4
<!--設定行高-->
xlsheet.Rows(1).RowHeight = 25;
<!--設定字型 ws.Range(ws.Cells(i0+1,j0), ws.Cells(i0+1,j1)).Font.Size = 13 -->
xlsheet.Rows(1).Font.Size=14;
<!--設定字型 設定選定區的字型 xlsheet.Range(xlsheet.Cells(i0,j0), ws.Cells(i0,j0)).Font.Name = "黑體" -->
xlsheet.Rows(1).Font.Name="黑體";
<!--設定列寬 xlsheet.Columns(2)=14;-->
xlsheet.Columns("A:D").ColumnWidth =18;
<!--設定顯示字元而不是數字-->
xlsheet.Columns(2).NumberFormatLocal="@";
xlsheet.Columns(7).NumberFormatLocal="@";
//設定儲存格內容自動換行 range.WrapText = true ;
//設定儲存格內容水平對齊 range.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;//設定儲存格內容豎直堆砌方式
//range.VerticalAlignment=Excel.XlVAlign.xlVAlignCenter
//range.WrapText = true; xlsheet.Rows(3).WrapText=true 自動換行
//設定標題列
xlsheet.Cells(2, 1).Value = "卡號";
xlsheet.Cells(2, 2).Value = "密碼";
xlsheet.Cells(2, 3).Value = "計費方式";
xlsheet.Cells(2, 4).Value = "有效天數";
xlsheet.Cells(2, 5).Value = "金額";
xlsheet.Cells(2, 6).Value = "所屬服務項目";
xlsheet.Cells(2, 7).Value = "發卡時間";
var oTable = document.all['fors:data'];
var rowNum = oTable.rows.length;
for(i = 2; i <= rowNum; i++) {
for (j = 1; j <= 7; j++) {
//html table類容寫到excel
xlsheet.Cells(i + 1, j).Value = oTable.rows(i - 1).cells(j - 1).innerHTML;
}
}
<!-- xlsheet.Range(xls.Cells(i+4,2),xls.Cells(rowNum,4)).Merge; -->
// xlsheet.Range(xlsheet.Cells(i, 4), xlsheet.Cells(i-1, 6)).BorderAround , 4
// for(mn=1,mn<=6;mn++) . xlsheet.Range(xlsheet.Cells(1, mn), xlsheet.Cells(i1, j)).Columns.AutoFit;
xlsheet.Columns.AutoFit;
xlsheet.Range( xlsheet.Cells(1,1),xlsheet.Cells(rowNum+1,7)).HorizontalAlignment =-4108;//置中
xlsheet.Range( xlsheet.Cells(1,1),xlsheet.Cells(1,7)).VerticalAlignment =-4108;
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Font.Size=10;
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(3).Weight = 2; //設定左邊距
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(4).Weight = 2;//設定右邊距
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(1).Weight = 2;//設定頂邊距
xlsheet.Range( xlsheet.Cells(2,1),xlsheet.Cells(rowNum+1,7)).Borders(2).Weight = 2;//設定底邊距
xls.UserControl = true; //很重要,不能省略,不然會出問題 意思是excel交由使用者控制
xls=null;
xlBook=null;
xlsheet=null;
}
</script>
<link href="css/styles3.css" rel="stylesheet" type="text/css"/>
<title>ziyuanweihu</title>
</head>
<body>
<form id="fors" method="post" action="/WebModule/admins/card/showcard.faces" enctype="application/x-www-form-urlencoded">
<table id="fors:top" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td class="left"><img src="images/jiao1.gif" alt="" /></td>
<td class="topMiddle"></td>
<td class="right"><img src="images/jiao2.gif" alt="" /></td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td class="middleLeft"></td>
<td class="btstyle">
<table id="fors:sort" border="0" cellpadding="0" cellspacing="0" style="valign:center" width="100%">
<tbody>
<tr>
<td class="btstyle">
<input type="button" name="fors:_id7" value="產生excel檔案" />
</td>
</tr>
</tbody>
</table>
<table id="fors:data" border="1" cellpadding="0" cellspacing="1" width="100%">
<thead>
<tr>
<th scope="col"><span id="fors:data:headerText1">卡號</span></th>
<th scope="col"><span id="fors:data:headerText2">密碼</span></th>
<th scope="col"><span id="fors:data:headerText3">計費方式</span></th>
<th scope="col"><span id="fors:data:headerText4">有效天數</span></th>
<th scope="col">金額</th>
<th scope="col"><span id="fors:data:headerText6">所屬服務項目</span></th>
<th scope="col"><span id="fors:data:headerText7">發卡時間</span></th>
</tr>
</thead>
<tbody>
<tr>
<td>h000010010</td>
<td>543860</td>
<td>計點</td>
<td></td>
<td>2.0</td>
<td>測試專案</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010011</td>
<td>683352</td>
<td>計點</td>
<td></td>
<td>2.0</td>
<td>測試專案</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010012</td>
<td>433215</td>
<td>計點</td>
<td></td>
<td>2.0</td>
<td>測試專案</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010013</td>
<td>393899</td>
<td>計點</td>
<td></td>
<td>2.0</td>
<td>測試專案</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010014</td>
<td>031736</td>
<td>計點</td>
<td></td>
<td>2.0</td>
<td>測試專案</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010015</td>
<td>188600</td>
<td>計點</td>
<td></td>
<td>2.0</td>
<td>測試專案</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010016</td>
<td>363407</td>
<td>計點</td>
<td></td>
<td>2.0</td>
<td>測試專案</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010017</td>
<td>175315</td>
<td>計點</td>
<td></td>
<td>2.0</td>
<td>測試專案</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010018</td>
<td>354437</td>
<td>計點</td>
<td></td>
<td>2.0</td>
<td>測試專案</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
<tr>
<td>h000010019</td>
<td>234750</td>
<td>計點</td>
<td></td>
<td>2.0</td>
<td>測試專案</td>
<td>2006-06-23 10:14:40.843</td>
</tr>
</tbody>
</table>
</td>
<td class="middleRight"></td>
</tr>
</tbody>
</table>
<table id="fors:bottom" border="0" cellpadding="0" cellspacing="0" width="100%">
<tbody>
<tr>
<td class="left">
<img src="images/jiao3.gif" alt=""/>
</td>
<td class="bottomMiddle"> </td>
<td class="right">
<img src="images/jiao4.gif" alt=""/>
</td>
</tr>
</tbody>
</table>
<input type="hidden" name="fors" value="fors" />
</form>
</body>
</html>

複製代碼 代碼如下:<%--
// ---------------------------------- 1 ---------------------------------- \\
<HTML>
<HEAD>
<TITLE>匯出到excel</TITLE>
<META NAME="Generator" C>
<META NAME="Author" C>
<META NAME="Keywords" C>
<META NAME="Description" C>
</HEAD>
<script language="javascript">
function exportExcel(tableid) {
if(typeof(EXPORT_OBJECT)!="object") {
document.body.insertAdjacentHTML("afterBegin","<OBJECT style='display:none' classid='clsid:0002E510-0000-0000-C000-000000000046' id='EXPORT_OBJECT'></Object>");
}
with(EXPORT_OBJECT) {
DataType = "HTMLData";
HTMLData =tableid.outerHTML;
try {
ActiveSheet.Export("d:\\表格.xls", 0);
alert('成功匯出EXCEL表格!');
}
catch (e) {
alert('匯出EXCEL表格失敗,請確定已安裝Excel2000(或更高版本),並且沒開啟同名xls檔案');
}
}
}
</script>
<BODY>
<table id="tableid" border="1">
<tr>
<td>第一個儲存格</td>
<td>第二個儲存格</td>
<td>第三個儲存格</td>
</tr>
<tr>
<td>第四個儲存格</td>
<td>第五個儲存格</td>
<td>第六個儲存格</td>
</tr>
</table>
<input type="button" value="匯出EXCEL表格" >
</BODY>
</HTML>
// ---------------------------------- 2 ---------------------------------- \\
<!-- 匯出到office2000版本的word或excel中 -->
<script language="javascript">
function tableToExcel() {
window.clipboardData.setData("Text",document.all('theObjTable').outerHTML);
try {
var ExApp = new ActiveXObject("Excel.Application");
var ExWBk = ExApp.workbooks.add();
var ExWSh = ExWBk.worksheets(1);
ExApp.DisplayAlerts = false;
ExApp.visible = true;
}
catch(e) {
alert("您的電腦沒有安裝Microsoft Excel軟體!");
return false;
}
ExWBk.worksheets(1).Paste;
}
function tableToWord() {
var oWD = new ActiveXObject("Word.Application");
var oDC = oWD.Documents.Add("",0,1);
var oRange =oDC.Range(0,1);
var sel = document.body.createTextRange();
sel.moveToElementText(theObjTable);
sel.select();
sel.execCommand("Copy");
oRange.Paste();
oWD.Application.Visible = true;
}
</script>
<table id="theObjTable">
<tr>
<td>在html頁面中</td>
<td>把網頁中的表</td>
<td>格內容匯入到</td>
<td>word中</td>
<td>也可以匯入到excel</td>
</tr>
</table>
<input type="button" value="匯入到excel" >
<input type="button" value="匯入到word" >
// ---------------------------------- 3 ---------------------------------- \\
--%>

******************************************************************************************************
5.有關用js實現網頁中的內容直接轉化為excel的方法
****************************************************************************************************** 複製代碼 代碼如下:<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type c>
<script>
function out(){
try{
var elTable = document.getElementById("out");
var oRangeRef = document.body.createTextRange();
oRangeRef.moveToElementText( elTable );
oRangeRef.execCommand( "Copy" );
var oXL = new ActiveXObject("Excel.Application")
var oWB = oXL.Workbooks.Add ;
var oSheet = oWB.ActiveSheet ;
oSheet.Paste();
oSheet.Cells.NumberFormatLocal = "@";
oSheet.Columns("D:D").Select
oXL.Selection.ColumnWidth = 20
//oSheet.Columns("A:A").Select
//oSheet.Columns("A").Width = 1000;
oXL.Visible = true;
oSheet = null;
oWB = null;
appExcel = null;
}catch(e){alert(e.description)}
}
</script>
</head>
<body>
<table id ='out'>
<tr>
<td x:str bgcolor="#FF0000">00001</td>
<td x:str>0002</td>
</tr>
<tr>
<td height=18 align=right style='height:13.5pt' x:str>00001</td>
<td align=right x:str>000002</td>
</tr>
<tr>
<td x:str>0003</td>
<td x:str>00003</td>
</tr>
</table>
<INPUT type="button" value="Button" id=button1 name=button1 >
</body>
</html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.