1、導入Execl的類
Imports Excel = Microsoft.Office.Interop.Excel
2、設置Execl的公用變量
Application
Public xlApp As Excel.Application
Workbook
Public xlBook As Excel.Workbook
Worksheet
Public baseSheet, tmpSheet As Excel.Worksheet
3、 定義Execl的變量和調用相關的方法和屬性
Application.StartupPath 為Bin\Debug的開始執行路徑
xlApp = New Excel.Application
xlApp.DisplayAlerts = False
xlBook = xlApp.Workbooks.Open(Application.StartupPath & "\Execl的名稱.xls")
baseSheet = xlBook.Worksheets("Sheet1")
4、可以看excel是如何一步步執行的
xlApp.Visible = True
5、 將Execl中的第一個Sheet1複製一個並且放在Sheet1的前面,然後將新的Sheet 重新命名,原有的Sheet1在Execl中變更為Sheet2 。
baseSheet.Copy(Before:=xlBook.Sheets(1))
Dim jobSheet As Excel.Worksheet = xlBook.Sheets(1)
jobSheet.Name = "JOB"
6、給Execl的單元格賦值
startRow代表的是該列的行。
jobSheet.Range("A" & startRow).Value = Value1
jobSheet.Range("B" & startRow).Value = Value2
7、在Execl中插入圖片
'打開圖片
img = Image.FromFile(Application.StartupPath & "\foil.png")
'复制到剪切板
System.Windows.Forms.Clipboard.SetDataObject(img, False)
'粘貼圖片到Execl的位置
imgRage = jobSheet.Range("D" & startRow)
'將圖片插入到Excel
jobSheet.Paste(imgRage, img)
8、Shapes 对象 (Excel)
每个 Shape 对象都代表绘图层中的一个对象,如自选图形、任意多边形、OLE 对象或图片。
shape.AddShape方法(Execl)
返回一個shape對象,該對象代表工作表上的新自Shape
語法:表達式.AddShape(Type、Left、Top、Width、Height)
類型:指定要創建的自選形狀的類型。可參考 https://docs.microsoft.com/zh-tw/office/vba/api/office.msoautoshapetype
Left:自(邊界)左上角相對於文檔左上角的位置(以點表示)。
Top:自(框)左上角相對於文檔頂端的位置(以點表示)。
Width:自選形狀邊框的寬度(以磅為單位)。
Height:自選形狀邊框的高度(以磅為單位)。
給形狀賦顏色、線條邊框定義顏色和線條粗細。
'定義形狀和位置
drillShape = jobSheet.Shapes.AddShape(Microsoft.Office.Core.MsoAutoShapeType.msoShapeRectangle, (jobSheet.Columns(1).ColumnWidth + jobSheet.Columns(2).ColumnWidth + jobSheet.Columns(3).ColumnWidth) * 6 + 10 * (scop - 1) + 1.65, topP, 4, 8)
'形狀裡面的顏色
drillShape.Fill.ForeColor.ObjectThemeColor = Microsoft.Office.Core.MsoThemeColorIndex.msoThemeColorAccent2
'形狀裡面的顏色
'drillShape.Fill.ForeColor.RGB = RGB(255, 247, 189)
'邊框線的顏色
drillShape.Line.ForeColor.ObjectThemeColor = Microsoft.Office.Core.MsoThemeColorIndex.msoThemeColorAccent2
'線寬
drillShape.Line.Weight = 3
9、Execl 的單元格一般屬性
可參考https://blog.csdn.net/WEIZH84/article/details/100887553(涉及VBA相關操作語法)
'字體大小
xlWorkSheet.Range("A1").Font.Size = 20
'垂直居中
xlWorkSheet.Range("A1:L3").VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
'水平居中
xlWorkSheet.Range("A1:L3").HorizontalAlignment = Excel.XlVAlign.xlVAlignCenter
'合併單元格
xlWorkSheet.Range("A1:L3").Merge(Type.Missing)
'設定顏色
xlWorkSheet.Range("A1:L3").Interior.Color = Color.Yellow '設定顏色
'字體加粗
xlWorkSheet.Range("A" & firstRow).Font.Bold = True
'實線
xlWorkSheet.Range("G" & iRow).Borders.LineStyle = Excel.XlLineStyle.xlContinuous
XLHAlign枚舉(execl)
參考:https://docs.microsoft.com/zh-cn/office/vba/api/excel.xlhalign
名称 | 值 | 说明 |
---|---|---|
xlHAlignCenter | -4108 | 居中。 |
xlHAlignCenterAcrossSelection | 7 | 跨列居中。 |
xlHAlignDistributed | -4117 | 分散对齐。 |
xlHAlignFill | 5 | 填充。 |
xlHAlignGeneral | 1 | 按数据类型对齐。 |
xlHAlignJustify | -4130 | 两端对齐。 |
xlHAlignLeft | -4131 | 靠左。 |
xlHAlignRight | -4152 | 靠右。 |
XLBorderWeight枚舉(PowerPoint)
參考:https://docs.microsoft.com/zh-cn/office/vba/api/powerpoint.xlborderweight
名称 | 值 | 说明 |
---|---|---|
xlHairline | 1 | 细线边框(最细的边框)。 |
xlMedium | -4138 | 中等边框。 |
xlThick | 4 | 粗边框(最宽的边框)。 |
xlThin | 2 | 细边框。 |
Style.NumberFormatLocal屬性(Execl)
以採用用戶語言字符串的形式返回或設置一個String值,它代表對象的格式代碼。
xlWorkSheet.Range("G" & iRow & ":L" & iRow).Merge(Type.Missing)
xlWorkSheet.Range("G" & iRow).HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft
xlWorkSheet.Range("G" & iRow).VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
xlWorkSheet.Range("G" & iRow).Borders.LineStyle = Excel.XlLineStyle.xlContinuous
xlWorkSheet.Range("A" & startRow & ":G" & firstRow).Borders.Weight = Excel.XlBorderWeight.xlThin
'就是将Sheet1的A列至F列所有单元格采用自定义的格式。与EXCEL单元格-〉设置单元格格式—〉自定义——〉选择“@"效果是一样的
xlWorkSheet.Range("G" & firstRow).NumberFormatLocal = "@"