參考資料:NTKO開發協助
控制項對象
<object id="TANGER_OCX" classid="-----------------------------------" codebase="../../FileUpLoad/ntko/OfficeControl.cab#version=4,0,3,2" style="width:100%;height:auto !important;height:700px;min-height:700px"><param name="Titlebar" value="false"/><param name="Menubar" value="true"/><param name="Toolbars" value="true"/><param name="Statusbar" value="false"/><param name="BorderStyle" value="0"/><param name="FileNew" value="false"/><param name="FileOpen" value="false"/><param name="FileClose" value="false"/><param name="FileSave" value="false"/><param name="FileSaveAs" value="false"/><param name="FilePrint" value="true"/><param name="FilePrintPreview" value="true"/><param name="FilePageSetup" value="false"/><param name="FileProperties" value="false"/><param name="DisplayRulers" value="false"/><param name="MakerCaption" value="------------------"/><param name="MakerKey" value="--------------------------------"/><param name="ProductCaption" value="------------------"/><param name="ProductKey" value="-----------------------------"/><span style="color:red">不能安裝控制項,請在檢查瀏覽器的安全設定。</span></object>
editfile.aspx.cs
public string SaveFile() { try { string uploadpath = Server.MapPath(@"~/FileUpLoad/"); if (!System.IO.Directory.Exists(uploadpath)) { System.IO.Directory.CreateDirectory(uploadpath); } System.Web.HttpFileCollection filesupload = Request.Files; System.Web.HttpPostedFile file; string key = filesupload.GetKey(0).ToLower(); int i = 0; while (i <= filesupload.Count && "editfile" != key) { i++; key = filesupload.GetKey(i).ToString(); } if ("editfile" == key) { file = filesupload[i]; string filename = file.FileName; string[] filenames = filename.Split(new char[] { '\\' }); filename = filenames[filenames.Length - 1]; file.SaveAs(uploadpath + "\\" + filename+".doc"); return "操作成功!"; } else { return "尚未找到操作的檔案!"; } } catch (Exception ex) { return ex.Message.ToString(); } }
JS
function SaveFile(){//儲存 var TANGER_OCX_OBJ = document.getElementById("TANGER_OCX"); if (TANGER_OCX_OBJ === null || TANGER_OCX_OBJ === "undefined") { return false; } var fileName = document.getElementById("fileName").value; try { var message = TANGER_OCX_OBJ.SaveToURL("editfile.aspx?op=SaveFile","editfile","",fileName,"form1"); } catch (err) { alert("err:" + err.number + ":" + err.description); } finally { } } function OpenFile(url) {//開啟url為開啟文檔的相對路徑 var TANGER_OCX_OBJ = document.getElementById("TANGER_OCX"); if (TANGER_OCX_OBJ === null || TANGER_OCX_OBJ === "undefined") {return false; } var useUTF8 = (document.charset == "utf-8"); TANGER_OCX_OBJ.IsUseUTF8Data = useUTF8; try { TANGER_OCX_OBJ.BeginOpenFromURL(url, true, false); } catch (err) { alert("錯誤:" + err.number + ":" + err.description); } finally {} } function PrintPreview() {//預覽列印 var TANGER_OCX_OBJ = document.getElementById("TANGER_OCX"); TANGER_OCX_OBJ.PrintPreview(); } function Print(isBackground) {//列印 var TANGER_OCX_OBJ = document.getElementById("TANGER_OCX"); var oldOption; try { var objOptions = TANGER_OCX_OBJ.ActiveDocument.Application.Options; oldOption = objOptions.PrintBackground; objOptions.PrintBackground = isBackground; } catch (err) { }; TANGER_OCX_OBJ.printout(true); try { var objOptions = TANGER_OCX_OBJ.ActiveDocument.Application.Options; objOptions.PrintBackground = oldOption; } catch (err) { }; } function GetRangeValue(TANGER_OCX_OBJ,RangeName) {//獲得名稱或索引的值(Excel) var str = ""; var strTemp = ""; try { var app=TANGER_OCX_OBJ.ActiveDocument.Application; var names = app.ActiveWorkbook.Names;//名稱集合 var nameCount = names.Count; var isExist = false; for (var count = 1; count <= nameCount; count++) { if (names(count).Name === RangeName)//判斷名稱集合中是否存在 {isExist = true; } } if (!isExist) return false;//不存在,不能選擇該範圍及返回 var range = app.Goto(RangeName); var app = TANGER_OCX_OBJ.ActiveDocument.Application; var rowCount = app.Selection.Rows.Count; var columnCount = app.Selection.Columns.Count; for (var i = 1; i <= rowCount; i++) { for (var j = 1; j <= columnCount; j++) { strTemp = app.Selection.Cells(i, j).FormulaR1C1; if (strTemp != "") { str = str + strTemp + "|"; } } } str = str.substr(0, str.length - 1); } catch (err) { alert("錯誤:" + err.number + ":" + err.description); TANGER_OCX_OBJ.ActiveDocument.Application.Quit(); } finally { } return str; } //當文檔載入成功後初始化文檔(Excel)<script language="JScript" for="TANGER_OCX" event="AfterOpenFromURL()"> var TANGER_OCX_OBJ = document.getElementById("TANGER_OCX"); var ad = TANGER_OCX_OBJ.ActiveDocument.Application.ActiveSheet; //初始化 SetRangeValue(TANGER_OCX_OBJ, "定義的名稱或索引","值"); function SetRangeValue(TANGER_OCX_OBJ, RangeName,value) { try{ var app=TANGER_OCX_OBJ.ActiveDocument.Application; var names = app.ActiveWorkbook.Names; var nameCount = names.Count; var isExist = false; for (var count = 1; count <= nameCount; count++) { if (names(count).Name === RangeName) {isExist = true; } } if (!isExist) return false; var range =app.Goto(RangeName); var app = TANGER_OCX_OBJ.ActiveDocument.Application; var rowCount = app.Selection.Rows.Count; var columnCount = app.Selection.Columns.Count; for (var i = 1; i <= rowCount; i++) { for (var j = 1; j <= columnCount; j++) { app.Selection.Cells(i, j).FormulaR1C1 = value; } } }catch (err) { alert("錯誤:" + err.number + ":" + err.description); } finally { TANGER_OCX_OBJ.ActiveDocument.Application.Quit(); } } </script>