javascript
通过javascript获取sharepoint数据,使用JS导出Excel
通過(guò)網(wǎng)頁(yè)將數(shù)據(jù)導(dǎo)出到Excel是常見(jiàn)需求,使用服務(wù)器端導(dǎo)出,開(kāi)發(fā)周期長(zhǎng),部署麻煩。這里推薦一種客戶端導(dǎo)出方法。
客戶端導(dǎo)出與Sharepoint無(wú)關(guān)。這里附帶使用場(chǎng)景基于SP,因?yàn)镾P自帶的導(dǎo)出功能比較弱,只能將List中全部數(shù)據(jù)導(dǎo)出的Excel中,如果要定制列和行很麻煩。使用客戶端導(dǎo)出更簡(jiǎn)潔。
客戶端導(dǎo)出特點(diǎn):
使用方法:
導(dǎo)出的Excel一般都是需要調(diào)整樣式,字體,字號(hào)等滿足客戶需求,附注一下各個(gè)常用屬性。?和常用色卡。
//設(shè)置Excel中ActiveWindow的屬性: ExcelSheet.ActiveWindow.freezePanes=true; //凍結(jié)行列 ExcelSheet.ActiveWindow.DisplayGridlines=false;//不顯示網(wǎng)格 ExcelSheet.ActiveWindow.SplitRow = 2; //分割前兩行 ExcelSheet.ActiveWindow.SplitColumn = 3; //分割前三列 //附帶設(shè)置Excel中ActiveSheet的全部屬性: ExcelSheet.ActiveSheet.PageSetup.LeftMargin= 2/0.035; //頁(yè)邊距 左2厘米 ExcelSheet.ActiveSheet.PageSetup.RightMargin = 3/0.035; //頁(yè)邊距 右3厘米, ExcelSheet.ActiveSheet.PageSetup.TopMargin = 4/0.035; //頁(yè)邊距 上4厘米, ExcelSheet.ActiveSheet.PageSetup.BottomMargin = 5/0.035; //頁(yè)邊距 下5厘米 ExcelSheet.ActiveSheet.PageSetup.HeaderMargin = 1/0.035; //頁(yè)邊距 頁(yè)眉1厘米 ExcelSheet.ActiveSheet.PageSetup.FooterMargin = 2/0.035; //頁(yè)邊距 頁(yè)腳2厘米 ExcelSheet.ActiveSheet.PageSetup.CenterHeader = "頁(yè)眉中部?jī)?nèi)容"; ExcelSheet.ActiveSheet.PageSetup.LeftHeader = "頁(yè)眉左部?jī)?nèi)容"; ExcelSheet.ActiveSheet.PageSetup.RightHeader = "頁(yè)眉右部?jī)?nèi)容"; ExcelSheet.ActiveSheet.PageSetup.CenterFooter = "頁(yè)腳中部?jī)?nèi)容"; ExcelSheet.ActiveSheet.PageSetup.LeftFooter = "頁(yè)腳左部?jī)?nèi)容"; ExcelSheet.ActiveSheet.PageSetup.RightFooter = "頁(yè)腳右部?jī)?nèi)容";8.對(duì)單元格操作,帶*部分對(duì)于行,列,區(qū)域都有相應(yīng)屬性 ExcelSheet.ActiveSheet.Cells(row,col).Value = "內(nèi)容"; //設(shè)置單元格內(nèi)容 ExcelSheet.ActiveSheet.Cells(row,col).Borders.Weight = 1; //設(shè)置單元格邊框*() ExcelSheet.ActiveSheet.Cells(row,col).Interior.ColorIndex = 1; //設(shè)置單元格底色*(1-黑色, 2-白色,3-紅色,4-綠色,5-藍(lán)色,6-黃色,7-粉紅色,8-天藍(lán)色,9-醬土色..可以多做嘗試) ExcelSheet.ActiveSheet.Cells(row,col).Interior.Pattern = 1; //設(shè)置單元格背景樣式*(1-無(wú), 2-細(xì)網(wǎng)格,3-粗網(wǎng)格,4-斑點(diǎn),5-橫線,6-豎線..可以多做嘗試) ExcelSheet.ActiveSheet.Cells(row,col).Font.ColorIndex = 1; //設(shè)置字體顏色*(與上相同) ExcelSheet.ActiveSheet.Cells(row,col).Font.Size = 10; //設(shè)置為10號(hào)字* ExcelSheet.ActiveSheet.Cells(row,col).Font.Name = "黑體"; //設(shè)置為黑體* ExcelSheet.ActiveSheet.Cells(row,col).Font.Italic = true; //設(shè)置為斜體* ExcelSheet.ActiveSheet.Cells(row,col).Font.Bold = true; //設(shè)置為粗體* ExcelSheet.ActiveSheet.Cells(row,col).ClearContents; //清除內(nèi)容* ExcelSheet.ActiveSheet.Cells(row,col).WrapText=true; //設(shè)置為自動(dòng)換行* ExcelSheet.ActiveSheet.Cells(row,col).HorizontalAlignment = 3; //水平對(duì)齊方式枚舉* (1-常規(guī), 2-靠左,3-居中,4-靠右,5-填充 6-兩端對(duì)齊,7-跨列居中,8-分散對(duì)齊) ExcelSheet.ActiveSheet.Cells(row,col).VerticalAlignment = 2; //垂直對(duì)齊方式枚舉*(1-靠上, 2-居中,3-靠下,4-兩端對(duì)齊,5-分散對(duì)齊) //行,列有相應(yīng)操作: ExcelSheet.ActiveSheet.Rows(row). ExcelSheet.ActiveSheet.Columns(col). ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow). //如Rows("1:5")即1到5行 ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol). //如Columns("A:B")即1到2列 //區(qū)域有相應(yīng)操作: XLObj.Range(startcell+":"+endcell).Select; //如Range("A2:H8")即A列第2格至H列第8格的整個(gè)區(qū)域 XLObj.Selection. //合并單元格 XLObj.Range(startcell+":"+endcell).MergeCells = true; //如Range("A2:H8")即將A列第2格至H列第8格的整個(gè)區(qū)域合并為一個(gè)單元格 或者: XLObj.Range("A2",XLObj.Cells(8, 8)).MergeCells = true;9.設(shè)置行高與列寬 ExcelSheet.ActiveSheet.Columns("A:Z").ColumnWidth = 20;//設(shè)置Column的寬度為20 ExcelSheet.ActiveSheet.Rows("1:10").RowHeight = 50;//設(shè)置row行的寬度為50ColorIndex對(duì)應(yīng)的色值
如需要使用RGB顏色,要將RGB轉(zhuǎn)換為十進(jìn)制,通過(guò)如下屬性賦值
ExcelSheet.ActiveSheet.Cells(row,col).Interior.Color = 1652735;//大紅
使用兩層的For循環(huán)對(duì)單元格調(diào)整顏色或字體效率很低,可以考慮是用excel 的range批量操作。參考我下一篇:通過(guò)JS導(dǎo)出Excel。將JS數(shù)組轉(zhuǎn)換為VB數(shù)組_佛曰我不想說(shuō)話的博客-CSDN博客在JS中可以使用excel對(duì)象range賦值,但不能直接使用js的array,需要預(yù)先將js的數(shù)組轉(zhuǎn)換成二進(jìn)制的dictionary才可以。通過(guò)如下函數(shù)可以轉(zhuǎn)換將JS的數(shù)組轉(zhuǎn)換成VB數(shù)組:function toVBArray1(jarray) { var dict1 = new ActiveXObject('Scripting.Dictionary'); for (var...https://blog.csdn.net/GetDC/article/details/99425352
總結(jié)
以上是生活随笔為你收集整理的通过javascript获取sharepoint数据,使用JS导出Excel的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: js简易版歌单播放,可切换下一首
- 下一篇: Manifest is not vali