作者:乔山办公网日期:
返回目录:excel表格制作
我只有VB 2005,但是道理一样的!
首先通过菜单[项目] -- [添加引用],选择[COM]选项卡,选择“Microsoft Excel XX.0 Object Library”,[确定]。
其中:XX.0 ,视你安装的Office版本而定。
我给你弄了个比较详e79fa5e98193e59b9ee7ad94364细例子:你自己根据需要,修改吧!
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim AppXls As Microsoft.Office.Interop.Excel.Application '声明Excel对象
Dim AppWokBook As Microsoft.Office.Interop.Excel.Workbook '声明工作簿对象
Dim AppSheet As New Microsoft.Office.Interop.Excel.Worksheet '声明工作表对象
AppXls = New Microsoft.Office.Interop.Excel.Application '实例化Excel对象
AppXls.Workbooks.Open("C:\学生成绩.xls") '打开已经存在的EXCEL文件
AppXls.Visible = False '使Excel不可见
'AppWokBook = New Microsoft.Office.Interop.Excel.Workbook '实例化工作簿对象
'AppSheet = New Microsoft.Office.Interop.Excel.Worksheet '实例化工作表对象
AppWokBook = AppXls.Workbooks(1) 'AppWokBook对象指向工作簿"C:\学生成绩.xls"
AppSheet = AppWokBook.Sheets("Sheet1") 'AppSheet对象指向AppWokBook对象中的表“Sheet1”,即:"C:\学生成绩.xls"中的表“Sheet1”
'下面举一些例子:
'1、如果不声明工作表对象 AppSheet ,那么应用AppWokBook对象中的表“Sheet1”的语句就是:AppWokBook.Sheets("Sheet1")
'2、如果不声明工作簿对象 AppWokBook ,那么应用"C:\学生成绩.xls"中的表“Sheet1”的语句就是:AppXls.Workbooks("C:\学生成绩.xls").Sheets("Sheet1")
'要读取数据表"Sheet1"中的单元格“A1”的值,到变量S1里
Dim S1 As String
'方法一
S1 = AppXls.Workbooks(1).Sheets("Sheet1").Range("A1").Value
MsgBox(S1)
'方法二
S1 = AppWokBook.Sheets("Sheet1").Range("A1").Value
MsgBox(S1)
'方法三
S1 = AppSheet.Range("A1").Value
MsgBox(S1)
'把数据写入到单元格“H2”,就是第2行第8个单元格
'方法一
AppXls.Workbooks(1).Sheets("Sheet1").Cells(2, 8).Value = "您好!"
S1 = AppXls.Workbooks(1).Sheets("Sheet1").Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)
'方法二
AppWokBook.Sheets("Sheet1").Cells(2, 8).Value = "你们好!"
S1 = AppWokBook.Sheets("Sheet1").Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)
'方法二
AppSheet.Cells(2, 8).Value = "大家好!"
S1 = AppSheet.Cells(2, 8).Value '为了验证,读取并显示它
MsgBox(S1)
'使用完毕必须关闭EXCEL,并退出
AppXls.ActiveWorkbook.Close(SaveChanges:=True)
AppXls.Quit()
'完成此程序,打开EXCEL检查,可以看到在“Sheet1”表的单元格“H2”里是文本“大家好!”
End Sub
用vba可以实现,不难知。要看你具体做什么,下面是道一个录回制的宏,替换aaa为答axa,然后替换bbb为xbx。
Sub 宏2()
'
' 宏2 宏
'
'
Cells.Replace What:="aaa", Replacement:="axa", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:="bbb", Replacement:="xbx", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
方百法:
假如要将A1:G100单元格中所有包含“业务”度的单知元格全部替换为“业务”,可用如道下代码:
Sub aa()
Dim i As Integer
With Range("A1:G100")
For i = 1 To .Cells.Count
If WorksheetFunction.CountIf(.Cells(i), "*业务*") = 1 Then
.Cells(i) = "业务"
End If
Next i
End With
End Sub
打开VBE编辑器,粘贴上面的代内码,运行后即可达到容要求。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'On Error GoTo EXIT_ERROR
Dim strErrorPos As String = "F_TreatOne"
Dim strFileName As String
strFileName = "d:\test.xlsx"
Dim objExcelApp As New Microsoft.Office.Interop.Excel.Application
Dim objWorkBook As Microsoft.Office.Interop.Excel.Workbook
Dim objSheet As Microsoft.Office.Interop.Excel.Worksheet
objWorkBook = objExcelApp.Workbooks.Open(strFileName)
objSheet = objWorkBook.Worksheets(1)
objSheet.UsedRange.Replace("aaa", "bbb")
objWorkBook.Save()
objWorkBook.Close()
objExcelApp.Quit()
objWorkBook = Nothing
objExcelApp = Nothing
End Sub
需要的话,自已再适当修改修改.
项目中需要加对Microsoft.Office.Interop.Excel的引用e68a847a686964616f365.