① javaScript如何調用excel的規劃求解
JavaScript中ActiveXObject對象是啟用並返回 Automation 對象的引用。使用方法:
newObj = new ActiveXObject( servername.typename[, location])
ActiveXObject 對象語法有這些部分:其中newObj是必選項。要賦值為 ActiveXObject 的變數名。
servername是必選項。提供該對象的應用程序的名稱。
typename是必選項。要創建的對象的類型或類。
location是可選項。創建該對象的網路伺服器的名稱。
Automation 伺服器至少提供一類對象。例如,字處理應用程序可能提供應用程序對象、文檔對象和工具欄對象。
要創建 Automation 對象,將新的 ActiveXObject 賦給對象變數:
varExcelSheet;
ExcelApp=newActiveXObject("Excel.Application");
ExcelSheet=newActiveXObject("Excel.Sheet");
本代碼啟動創建對象的應用程序(在這種情況下,Microsoft Excel 工作表)。一旦對象被創建,就可以用定義的對象變數在代碼中引用它。在下面的例子中,通過對象變數 ExcelSheet 訪問新對象的屬性和方法和其他 Excel 對象,包括 Application 對象和 ActiveSheet.Cells 集合。
//使Excel通過Application對象可見。
ExcelSheet.Application.Visible=true;
//將一些文本放置到表格的第一格中。
ExcelSheet.ActiveSheet.Cells(1,1).Value="ThisiscolumnA,row1";
//保存表格。
ExcelSheet.SaveAs("C:\TEST.XLS");
//用Application對象用Quit方法關閉Excel。
ExcelSheet.Application.Quit();
只有當 Internet 安全性關閉時才能完成在遠程伺服器中創建對象。要在遠程網路計算機創建對象,可以將該計算機的名稱傳遞給 ActiveXObject 的 servername 參數。該名稱與共享名的機器名部分相同。比如共享名為 "\myserverpublic" 的網路,servername 是 "myserver"。另外,可以用 DNS 格式或 IP 地址指定 servername。
下面的代碼返回在名為 "myserver" 的遠程網路計算機上運行的 Excel 實例的版本號:
functionGetAppVersion()
{
varXLApp=newActiveXObject("Excel.Application","MyServer");
return(XLApp.Version);
}
如果指定的遠程伺服器不存在或找不到時將發生錯誤。
使用JavaScript中的ActiveXObject填充並設置Excel格式2006年12月19日 星期二 下午 05:131.創建一個新Excel表格
varXLObj=newActiveXObject("Excel.Application");
varxlBook=XLObj.Workbooks.Add;//新增工作簿
varExcelSheet=xlBook.Worksheets(1);//創建工作表
2.保存表格
ExcelSheet.SaveAs("C:\TEST.XLS");
3.使 Excel 通過 Application 對象可見
ExcelSheet.Application.Visible=true;
4.列印
xlBook.PrintOut;
或者:
ExcelSheet.PrintOut;
5.關閉
xlBook.Close(savechanges=false);
或者:
ExcelSheet.Close(savechanges=false);
6.結束進程
ExcelSheet.Application.Quit();
或者:
XLObj.Quit();
XLObj=null;
7.頁面設置
ExcelSheet.ActiveSheet.PageSetup.LeftMargin=2/0.035;//頁邊距左2厘米
ExcelSheet.ActiveSheet.PageSetup.RightMargin=3/0.035;//頁邊距右3厘米,
ExcelSheet.ActiveSheet.PageSetup.TopMargin=4/0.035;//頁邊距上4厘米,
ExcelSheet.ActiveSheet.PageSetup.BottomMargin=5/0.035;//頁邊距下5厘米
ExcelSheet.ActiveSheet.PageSetup.HeaderMargin=1/0.035;//頁邊距頁眉1厘米
ExcelSheet.ActiveSheet.PageSetup.FooterMargin=2/0.035;//頁邊距頁腳2厘米
ExcelSheet.ActiveSheet.PageSetup.CenterHeader="頁眉中部內容";
ExcelSheet.ActiveSheet.PageSetup.LeftHeader="頁眉左部內容";
ExcelSheet.ActiveSheet.PageSetup.RightHeader="頁眉右部內容";
ExcelSheet.ActiveSheet.PageSetup.CenterFooter="頁腳中部內容";
ExcelSheet.ActiveSheet.PageSetup.LeftFooter="頁腳左部內容";
ExcelSheet.ActiveSheet.PageSetup.RightFooter="頁腳右部內容";
8.對單元格操作,帶*部分對於行,列,區域都有相應屬性
ExcelSheet.ActiveSheet.Cells(row,col).Value="內容";//設置單元格內容
ExcelSheet.ActiveSheet.Cells(row,col).Borders.Weight=1;//設置單元格邊框*()
ExcelSheet.ActiveSheet.Cells(row,col).Interior.ColorIndex=1;//設置單元格底色*(1-黑色,
2-白色,3-紅色,4-綠色,5-藍色,6-黃色,7-粉紅色,8-天藍色,9-醬土色..可以多做嘗試)
ExcelSheet.ActiveSheet.Cells(row,col).Interior.Pattern=1;//設置單元格背景樣式*(1-無,
2-細網格,3-粗網格,4-斑點,5-橫線,6-豎線..可以多做嘗試)
ExcelSheet.ActiveSheet.Cells(row,col).Font.ColorIndex=1;//設置字體顏色*(與上相同)
ExcelSheet.ActiveSheet.Cells(row,col).Font.Size=10;//設置為10號字*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Name="黑體";//設置為黑體*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Italic=true;//設置為斜體*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Bold=true;//設置為粗體*
ExcelSheet.ActiveSheet.Cells(row,col).ClearContents;//清除內容*
ExcelSheet.ActiveSheet.Cells(row,col).WrapText=true;//設置為自動換行*
ExcelSheet.ActiveSheet.Cells(row,col).HorizontalAlignment=3;//水平對齊方式枚舉*(1-常規,
2-靠左,3-居中,4-靠右,5-填充6-兩端對齊,7-跨列居中,8-分散對齊)
ExcelSheet.ActiveSheet.Cells(row,col).VerticalAlignment=2;//垂直對齊方式枚舉*(1-靠上,
2-居中,3-靠下,4-兩端對齊,5-分散對齊)
//行,列有相應操作:
ExcelSheet.ActiveSheet.Rows(row).
ExcelSheet.ActiveSheet.Columns(col).
ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).//如Rows("1:5")即1到5行
ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).//如Columns("1:5")即1到5列
//區域有相應操作:
XLObj.Range(startcell+":"+endcell).Select;
//如Range("A2:H8")即A列第2格至H列第8格的整個區域
XLObj.Selection.
//合並單元格
XLObj.Range(startcell+":"+endcell).MergeCells=true;
//如Range("A2:H8")即將A列第2格至H列第8格的整個區域合並為一個單元格
或者:
XLObj.Range("A2",XLObj.Cells(8,8)).MergeCells=true;
9.設置行高與列寬
ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).ColumnWidth=22;
//設置從firstcol到stopcol列的寬度為22
ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).RowHeight=22;
//設置從firstrow到stoprow行的寬度為22
② Javascript中如何打開本地Excel文件,並且Excel編輯後,點擊Excel中的保存仍然保存到原文件中
你是說使用ActiveX控制項來操作EXCEL吧。如使用weboffice控制項,嵌入到網頁中,就可以在網頁中打開、編輯、保存excel文件了。一般這樣的控制項都要錢的。NTKO OFFICE文檔控制項,這個有破解版的
③ 我想用javascript操作excel文件,ActiveXObject("Excel.Application")
這個是vbscript的,方法在javascript里都是通用的,不過語法略有不同希望對你有幫助
1、 建立Excel對象
set objExcelApp = CreateObject("Excel.Application")
objExcelApp.DisplayAlerts = false 不顯示警告
objExcelApp.Application.Visible = false 不顯示界面
2、 新建Excel文件
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
3、 讀取已有Excel文件
strAddr = Server.MapPath(".")
objExcelApp.WorkBooks.Open(strAddr & "\Templet\Table.xls")
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
4、 另存Excel文件
objExcelBook.SaveAs strAddr & "\Temp\Table.xls"
5、 保存Excel文件
objExcelBook.Save (筆者測試時保存成功,頁面報錯。)
6、 退出Excel操作
objExcelApp.Quit 一定要退出
set objExcelApp = Nothing
三、 ASP操作Excel生成數據表
1、 在一個范圍內插入數據
objExcelSheet.Range("B3:k3").Value = Array("67", "87", "5", "9", "7", "45", "45", "54", "54", "10")
2、 在一個單元格內插入數據
objExcelSheet.Cells(3,1).Value="Internet Explorer"
3、 改變單元格文字顏色
objExcelSheet.Cells(3,1).Font.Color=vbred
4、 單元格四周畫線條
objExcelSheet.Cells(3.1).Borders(1).LineStyle =1
objExcelSheet.Cells(3.1).Borders(2).LineStyle =1
objExcelSheet.Cells(3.1).Borders(3).LineStyle =1
objExcelSheet.Cells(3.1).Borders(4).LineStyle =1
區域中間畫線條
objExcelSheet.Range(「A1:G7」).Borders(7).LineStyle =1
objExcelSheet.Range(「A1:G7」).Borders(8).LineStyle =1
8、 單元格設定背景色
objExcelSheet.Cells(3.1).Interior.colorindex=17
9、 合並單元格
objExcelSheet.Range(「A1:G7」).Merge
10、 設置左右對齊方式
2 left 3 middle 4 right
objExcelSheet.Range("A1").HorizontalAlignment = 2
11、 設置上下對齊方式
2 為居中
objExcelSheet.Range("A1")..VerticalAlignment = 2
四、 ASP操作Excel生成Chart圖
1、 創建Chart圖
objExcelApp.Charts.Add
2、 設定Chart圖種類
objExcelApp.ActiveChart.ChartType = 97
註:二維折線圖,4;二維餅圖,5;二維柱形圖,51
3、 設定Chart圖標題
objExcelApp.ActiveChart.HasTitle = True
objExcelApp.ActiveChart.ChartTitle.Text = "A test Chart"
4、 通過表格數據設定圖形
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range("A1:k5"),1
5、 直接設定圖形數據(推薦)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).Name = "=""333"""
objExcelApp.ActiveChart.SeriesCollection(1).Values = "={1,4,5,6,2}"
6、 綁定Chart圖
objExcelApp.ActiveChart.Location 1
7、 顯示數據表
objExcelApp.ActiveChart.HasDataTable = True
8、 顯示圖例
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
五、 伺服器端Excel文件瀏覽、下載、刪除方案
瀏覽的解決方法很多,「Location.href=」,「Navigate」,「Response.Redirect」都可以實現,建議用客戶端的方法,原因是給伺服器更多的時間生成Excel文件。
下載的實現要麻煩一些。用網上現成的伺服器端下載組件或自己定製開發一個組件是比較好的方案。另外一種方法是在客戶端操作Excel組件,由客戶端操作伺服器端Excel文件另存至客戶端。這種方法要求客戶端開放不安全ActiveX控制項的操作許可權,考慮到通知每個客戶將伺服器設置為可信站點的麻煩程度建議還是用第一個方法比較省事。
刪除方案由三部分組成:
A: 同一用戶生成的Excel文件用同一個文件名,文件名可用用戶ID號或SessionID號等可確信不重復字元串組成。這樣新文件生成時自動覆蓋上一文件。
B: 在Global.asa文件中設置Session_onEnd事件激發時,刪除這個用戶的Excel暫存文件。
C: 在Global.asa文件中設置Application_onStart事件激發時,刪除暫存目錄下的所有文件。
註:建議目錄結構 \Src 代碼目錄 \Templet 模板目錄 \Temp 暫存目錄
六、 附錄
出錯時Excel出現的死進程出現是一件很頭疼的事情。在每個文件前加上「On Error Resume Next」將有助於改善這種情況,因為它會不管文件是否產生錯誤都堅持執行到「Application.Quit」,保證每次程序執行完不留下死進程。
④ js操作EXCEL的自動適應寬度怎麼設置
1.格式---單元格---對齊---在文本控制內選「縮小字體填充」。確定。字體會根據格自動變化字型大小。
2.全表專輸入完內容後,選中屬列(或行),滑鼠移到線的頂端(左端),變為雙箭頭,雙擊,選中的列(行)就根據內容自動調整寬(高)度了。
⑤ Excel中加入Javascript
在excel中引用javascript ,VBA和javascript混合工作。
【例子】 Sub yy02()
Dim js As New ScriptControl
js.Language = "javascript"
js.Eval "function arr(aa){return aa.value.toArray()}" 'toArray一定不能寫成toarray
Set y = js.Run("arr", [a1:d1])
MsgBox y
End Sub
將上面的代碼,專拷貝到VBA編輯器中屬,可以運行 現在在excel中,越來越多的使用XML\JAVAECRIPT\VBSCRIPT。
比如僅僅用VBA實現多層繼承和多根繼承很難,但是加上javascript就不難了
VBA中數組應用佔了很大的比重,如果加進去javascript就更加靈活了
處理樹形結構的數據,用MSDOM\XML就方便多了
⑥ 用javascript怎麼實現把excel中的數據批量導入到資料庫表中
利用jquery里的ocupload這個js組件,步驟和實現文件上傳一樣,將你要導入的excel表格進行上傳到服務端,然後在工程里導入apache的poi這poi-ooxml以及poi-schemas這三個jar包,接受到文件對象後,利用裡面的HSSWorkBook這個對象來解析excel里的每行數據,通過對應的數據類型對象添加到資料庫里即可
1.將選中的數據快兒拷貝到一個TXT文本文件中(記得把後面的空格消掉。。否則導入資料庫後會有對應的空行),假如存到「D:data.txt」這個位置里。
2.根據要導入的數據快兒建立MySql資料庫和表,然後進入命令提示符里使用命令
load data local infile 'D:/data.txt' into table exceltomysql fields terminated by ' '
注意:盤符我使用的「/」才成功,否則提示找不到文件 下面文章中是用的「」!
進行導入操作
手動進行Excel數據和MySql數據轉換
最快的方法是把EXCEL的數據以CSV的格式導出,到ACCESS導入CSV的那個文件,然後再用ACCESS導出DBF的格式,mySQL可以直接支持和讀取DBF格式的資料庫文件。
1、在EZDML中打開表,全選,復制,在EXCEL中新建表,粘貼。
2、在EZDML中導出數據,保存為EXCEL文件。
3、在EZDML中導出數據,保存為ACCESS文件,然後在ACCESS資料庫中打開表,全選,復制,在EXCEL中新建表,粘貼。
4、在EZDML中導出數據,保存為TXT、XML等通用文件,然後在ACCESS中導入為數據表,再打開表,全選,復制,在EXCEL中新建表,粘貼。
我的空間中記載了一種方法,是我以前在工作時使用的,你可以借鑒下:
:hi../yueyun889/blog/item/fdd23d38a952b624b9998f5a.
你是說SQL server的吧。。。
把查出來的記錄全部選中,右鍵選保存,保存為cvs的文件格式,再打開cvs的文件,重新保存成xls格式的就可。
1、啟動SQL企業管理器,選中 表格:1、點擊滑鼠右鍵 2、所以任務 3、導入數據
2、選擇數據源
3、選擇文件路徑
4、按txt文本格式,選擇相應的分隔符和間距,就可以了。
基於Visual Basic編程語言,舉例說明利用VB實現循環將本地Excel數據批量導入到遠程的SQL Server資料庫的方法。
1、打開文字文檔以後,先做好表格,接著找到文檔中工具欄的「工具」按鈕。
2、點擊之後,就會彈出一個命令菜單,在其中找到「郵件合並工具欄」,點擊「郵件合並工具欄」以後就會出現如下圖2的一個工具欄了。
3、在這個工具欄中找到如下圖的圖標,點擊打開數據源。
4、接著就會出現一個選擇框,選擇好需要導入的數據源excel文件,點擊確定。
5、接著滑鼠如下圖點擊要導入數據文檔表格中的單元格,讓游標在這個單元格總閃動,然後點擊第二幅圖上的圖標「插入合並域」。
6、接著選擇要輸入的項目,點擊確定,就能看到第二幅圖中單元格里出現了《姓名》,出生日期和性別也可以用同樣的方法輸入。
7、然後點擊如下圖」合並到新文檔「,在合並到新文檔設置中選擇要導入的數據起始行和結束行,點擊確定。
8
8、接著你就會發現excel中的數據全部導入到了文檔的表格里。