机房管理系统——vb与excel链接2
? ??由于我之前找的文檔讓我以為在創建表里面走了很大的誤區,所以當時我直接就在學生管理系統的文件夾里建了張表,運行時候直接打開這樣表就行了。但是這里面還是存在著很大的誤區。
?????后來我看了周坤的博客感覺他比我的代碼優化了好多。我代碼里面的好多問題都在他這里面得到解決。(ORZ!!!我做了一下午,忽然有種白做的感覺。)
“導出為excel”這個按鈕大體就是點擊按鈕便創建一張表,然后把myflexgrid寫到表格里面。
先看一下我的代碼的問題:
| ? | Set xlApp = CreateObject("Excel.Application") '創建EXCEL應用類 |
| ? | xlApp.Visible = True '設置EXCEL可見 |
| 1. | Set xlBook = xlApp.Workbooks.Open(App.Path & "\新建 Microsoft Excel 工作表.xls") '打開EXCEL工作簿 |
| ? | Set xlSheet = xlBook.Worksheets(1) '打開EXCEL工作表 |
| ? | xlSheet.Activate '激活工作表 |
| 2. | xlSheet.Cells(1, 1) = myflexgrid.TextMatrix(0, 0)……'給單元格1行駛列賦值………… |
| ? | xlBook.RunAutoMacros (xlAutoOpen) '運行EXCEL中的啟動宏 |
?
下面看一下我今天看到的代碼:
?Dim xlsAppAs Excel.Application '定義Excel程序
??? DimxlsBook As Excel.Workbook '定義工作簿
??? DimxlsSheet As Excel.Worksheet '定義工作表
| ? ?? | Dim i As Long |
| ?? | ?Dim j As Long |
?
??? SetxlsApp = CreateObject("Excel.Application") '創建應用程序
| ??? Set xlsBook = xlsApp.Workbooks.Add | 創建一個新工作簿。新工作簿將成為當前表的活動工作簿。 |
??? SetxlsSheet = xlsBook.Worksheets(1) '設置應用表
?
??? With xlsApp
| ????????? .Rows(1).Font.Bold = True | 如何在設置excel中的字體進行設置 |
??? End With
??? '把myflexgrid.Rows的內容寫入到電子表格中
| ???????For i = 0 To myflexgrid.Rows - 1 | 很好的利用了循環語句 |
| ??????? For j = 0 To myflexgrid.Rows - 1 | ? |
| ??????????? xlsSheet.Cells(i + 1, j + 1) = "'" & myflexgrid.Rows.TextMatrix(i, j) | ’通過我上面寫的可以明顯的總結出這個規律 |
??????? Next j
??? Next i
?
???xlsApp.Visible = True '顯示電子表格
???'xlsSheet.PrintOut preview:=True '進入打印預覽頁面
| ?? ' xlsBook.SaveAs App.Path & "\Test.xls" '保存路徑和文件名稱 | 要是點一下就出現一張表這樣也太麻煩了,而且文件名字還是一樣的。所以我覺得這段代碼有點多余。 |
??? SetxlsApp = Nothing '釋放控制權
這樣做出來的效果比我做的好得多。
?
拓展:(excel更多操作)
1)顯示當前窗口:?
| ?? | ExcelID.Visible:=True;? |
2)更改Excel標題欄:?
| ?????????????ExcelID.Caption:=' | 應用程序調用MicrosoftExcel';? |
3)添加新工作簿:?
| ? | ?ExcelID.WorkBooks.Add;? |
4)打開已存在的工作簿:?
| ? | ?ExcelID.WorkBooks.Open('C:\Excel\Demo.xls');? |
5)設置第2個工作表為活動工作表:??
| ???????????????ExcelID.WorkSheets[2].Activate;? | ?或ExcelID.WorkSheets['Sheet2'].Activate; |
6)給單元格賦值:?
| ?? | ExcelID.Cells[1,4].Value:='第一行第四列';? |
7)設置指定列的寬度(單位:字符個數),以第一列為5例:?
| ? | ?ExcelID.ActiveSheet.Columns[1].ColumnsWidth:=5;? |
8)設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:?
| ? | ?ExcelID.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米? |
9)在第8行之前插入分頁符:?
| ? | ?ExcelID.WorkSheets[1].Rows[8].PageBreak:=1;? |
10)在第8列之前刪除分頁符:?
| ?? | ExcelID.ActiveSheet.Columns[4].PageBreak:=0;? |
11)指定邊框線寬度:?
| ?? | ExcelID.ActiveSheet.Range['B3:D4'].Borders[2].Weight:=3;???1-左?2-右?3-頂4-底?5-斜(\)?6-斜(/) |
?12)清除第一行第四列單元格公式:?
| ? | ?ExcelID.ActiveSheet.Cells[1,4].ClearContents;? |
13)設置第一行字體屬性:?
| ? | ?ExcelID.ActiveSheet.Rows[1].Font.Name:='隸書';??? |
| ???????????? | ?ExcelID.ActiveSheet.Rows[1].Font.Color??=clBlue;??? |
| ????????????? | ?ExcelID.ActiveSheet.Rows[1].Font.Bold?:=True;??? |
| ????????????? | ?ExcelID.ActiveSheet.Rows[1].Font.UnderLine:=True;? |
轉載于:https://www.cnblogs.com/tanqianqian/p/5975070.html
總結
以上是生活随笔為你收集整理的机房管理系统——vb与excel链接2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ 1236 学校网络间的强连通
- 下一篇: 纯CSS手风琴效果