【www.myl5520.com--书摘名言】
VB2008操作office2010
篇一:vb2008,excel
VB2008操作office2010
Imports Microsoft.Office.Interop.Excel
Imports Microsoft.Office.Interop.Word
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim wdApp As Microsoft.Office.Interop.Word.Application
wdApp = New Microsoft.Office.Interop.Word.Application
wdApp.Visible = True
Dim wdDoc As Microsoft.Office.Interop.Word.Document
wdDoc = wdApp.Documents.Add
'wdDoc = wdApp.Documents.Open(Label2.Text)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim xlApp As Microsoft.Office.Interop.Excel.Application
xlApp = New Microsoft.Office.Interop.Excel.Application
xlApp.Visible = True
Dim xlbook As Workbook
xlbook = xlApp.Workbooks.Add
Dim xlsheet As Worksheet
xlsheet = xlbook.Worksheets.Add
End Sub
End Class
vb.net操作excel文件
/ 2010-05-21 11:55来源:发表评论 (0)
要求将数据显示在Excel表中,并且要设好数据格式。虽说如此,真正实现了自己的功能,还是费了不少时间。相信还是有很多与我相似的人需要实现这种功能。那就做个小结吧。不妥之处,请指正哦。
1.添加引用--com---microsoft excel 11.0 object library
2在需要访问excel的过程中定义
dim exapp as excel.application '定义excel应用程序
dim exbook as excel.workbook‘定义工作簿
dim exsheet as excel.worksheet‘定义工作表
dim exrange as excel.range '定义工作区域
3.有了上面的定义,基本上excel的操作就手到擒来了
exapp.visible=true '显示excel 程序
exbook=exapp.workbooks.add '添加新工作簿 或exbook=exapp.workbooks.open("薄名") / 打开已在工作薄
exsheet=exbook.sheets(n) '获得第n个工作表的控制句柄,后面就由它处理了 exsheet.cells(row,col)=值 '对指定单元格赋值,这个操作大量出现哦
exsheet.range(cells,cells).font '这个属性也常用到,设置格式就是它了: exsheet.range(cells,cells).font.colorindex=3 '设置颜色
exsheet.range(cells,cells).Borders.LineStyle=1'设边框线
exsheet.range(cells,cells).EntireColumn.AutoFit '自动列宽 /可以改为自动行高哦
exsheet.range(cells,cells).merge '合并单元格,复杂的表格这个也用的多哦 exsheet.range(cells,cells).HorizontalAlignment=3 '水平居中 ,当然也可以改为垂直的 exSheet.PageSetup.Orientation = 2 '页面横向
熟练以上这些,基本上就可以实现一些要求了。
4。最后是保存文件
exsheet.saveas("文件名")
或
exbook.save
5.清理变量
exsheet=nothing
exbook.close
exbook=nothing
exapp.quit
exapp=nothing
2009-09-07 20:24 VB.NET使用EXCEL常见操作首先,须在项目里引用: 添加引用->Com->Microsoft Excel 9.0 Object Library (这是EXCEL2000)
1 打开Excel:dimmyexcel as new Excel.Application() myexcel.visible=true
2 添加新的工作簿:myexcel.Workbooks.add()
3 设定第二个工作表为活动工作表:myexcel.worksheets(2).Acivate()
4 打开指定的Excel文件:myexcel.workbooks.open("c:\my.xls")
5 显示Excel窗口:myexcel.visible=true
6 更改Excel的标题栏:myexcel.caption="欢迎,欢迎!"
7 为Excel的单元格赋值:myexcel.cells(1,4).value=100 此语句使Excel当前工作表的第一行第四列,即D1单元格等于100, 也可以这样写: myexcel.Range("D1").value=100
8 设置指定列的宽度(单位:字符个数):myexcel.ActiveSheet.colums(1).columnwidth=20 设定当前工作表第1列的宽度为20
9 设置指定行的高度(单位:磅):myexcel.ActiveSheet.rows(1).rowHeight=1/0.035 1磅 =0.035厘米设置第1行的高度为1CM
10 插入分页符:myexcel.Activesheet.rows(20).pagebreak=1 在第20行前插入分页符
11 删除分页符:myexcel.Activesheet.columns(20).pagebreak=0 在第20列前删除分页符
12 指定边框线的宽度:myexcel.Activesheet.range("B3:D3").borders(1).weight=3 其中borders参数指定单元格边框的位置: 1:左 2:右 3:顶 4:底 5:斜\ 6:斜/
13 指定边框线条的类型:myexcel.Activesheet.range("B1:D3").borders(2).linestyle=1 此语句将当前工作表的B1:D3单元格的右边框设置为实线linestyle参数: 1:细实线 2:细虚线 3:点虚线 4:双细实线
14 设置页脚:myexcel.activesheet.pagesetup.centerfooter="第&p页" 注意:设置页眉页脚时要保证计算机上装有打印机,否则出错!
15 设置页眉:myexcel.activesheet.pagesetup.centerfooter="第&p页"
16 设置页眉到顶断距离为2cm:myexcel.Activesheet.pagesetup.Headermargin=2/0.035
17 设置页脚到底端距离为2cm:myexcel.Activesheet.pagesetup.Footermargin=2/0.035
18 设置顶边边距为2cm:myexcel.Activesheet.pagesetup.topmargin=2/0.035
19 设置底边边距为2cm:myexcel.Activesheet.pagesetup.Bottommargin=2/0.035
20 设置左边边距为2cm:myexcel.Activesheet.pagesetup.Leftmargin=2/0.035
21 设置右边边距为2cm:myexcel.Activesheet.pagesetup.Rightmargin=2/0.035
22 设置页面水平居中:myexcel.activesheet.pagesetup.CenterHorizontally=true
23 设置页面垂直居中:myexcel.activesheet.pagesetup.Centervertically=true
24 设置页面纸张大小 (1,窄行 8.5*11 ;39 ,宽行myexcel.activesheet.pagesetup.papersize=1
25 打印单元格网格线:myexcel.activesheet.pagesetup.PrintGridlines=true
26 复制整个工作表:myexcel.activesheet.Usedrange.Copy
27 复制指定区域:myexcel.activesheet.range("a1:b5").Copy
28 粘贴:myexcel.worksheets("sheet2").range("A1").PasteSpecial
29 在第2行前插入一行:myexcel.activesheet.rows(2).Insert
30 在第2列前插入一列:myexcel.Activesheet.Columns(2).Insert
31 合并 C4:D4 单元格:myexcel.Activesheet.Range("C4:D4").Merge()
32 自动调整第2列列宽:myexcel.activesheet.Columns(2).AutoFit
33 设置字体:myexcel.Activesheet.cells(2,1).font.name="黑体"
34 设置字体大小:myexcel.Activesheet.cells(2,1).font.size=25
35 设置字体为斜体:myexcel.Activesheet.cells(2,1).font.Italic=true
36 设置字体为粗体:myexcel.Activesheet.cells(2,1).font.Bold=true
37 清除单元格内容:myexcel.activesheet.cells(2,1).ClearContents
38 打印预览工作表:myexcel.Activesheet.PrintPreview
39 打印工作表:myexcel.Activesheet.Printout
40 工作表另存为:myexcel.ActiveWorkbook.saveas("C:\book2.xls") 14*11):vb2008,excel。
41 放弃存盘:myexcel.ActiveWorkbook.saved=false
42 关闭工作簿:myexcel.Workbooks.close
43 退出 Excel:myexcel.quit
清楚了这些命令,操作excel不就变的很轻松了!
vs2005,vs2008,vs2010连接excel的方法
篇二:vb2008,excel
注意,要添加注册表里面的:Microsoft Excel 12.0 Object Library<1.6>
vb操作excel大全
篇三:vb2008,excel
VB操纵EXCEL大全
2008-02-26 11:07
范例一
Option Explicit
Private Sub Command1_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlChar As New Excel.Chart
Dim xlSheet As New Excel.Worksheet
'建立需要的对象
Set xlApp = New Excel.Application
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("F:\BOOK1.xls")
Set xlSheet = xlBook.Worksheets(1)
'建立Chart 对象
Set xlChar = xlApp.Charts.Add()
xlChar.ChartType = xlLineMarkers
Call xlChar.SetSourceData(xlSheet.Range("A1:E7"), xlColumns) '原数据
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1" ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlRight
'选中建立的ChartObjects对象
ActiveSheet.ChartObjects("图表 1").Activate
ActiveChart.PlotArea.Select
ActiveChart.Legend.Select
'删除 退出(&X) 菜单
Dim i As Integer
For i = 1 To xlApp.CommandBars("File").Controls.Count
Debug.Print xlApp.CommandBars("File").Controls(i).Caption
If Left$(xlApp.CommandBars("File").Controls(i).Caption, 2) = "关闭" Then
xlApp.CommandBars("File").Controls(i).Visible = False 'Delete Exit For
End If
Next
'显示EXCEL
xlApp.Visible = True
End Sub
范例二
RichTextBox1
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
---- 然后,可以用这些变量来访问在EXCEL应用程序中的从属对象、以及这些对象的属性和方法。例如:
Set xlApp = CreateObject("Excel.Application")
‘激活EXCEL应用程序
xlApp.Visible = False ‘隐藏EXCEL应用程序窗口
Set xlBook = xlApp.Workbooks.Open(strDestination)
‘打开工作簿,strDestination为一个EXCEL报表文件
Set xlSheet = xlBook.Worksheets(1)
‘设定工作表
============================================================ VB借助EXCEL实现表格设计
1、定义EXCEL对象变量
dim x as excel.application
2、VB中,启动EXCEL
set x=createobject("excel.application")
3、新建一个EXCEL工作簿
x.workbooks.add
4、选定工作表1
set xsheet=xbook.worksheets(1)
5、指定单元格,并赋值
xsheet.cell(1,1)=ret.fields(0)
6、指定EXCEL列宽
xsheet.column(1).columnwidth=10
7、RANGE()函数,选定单元格区域
range(cells(1,1),cells(10,20))
8、设置EXCEL字体
xsheet.range(cells(1,1),cells(10,20)).font.name="黑体"
9、设置EXCEL为粗体
xsheet.range(cells(1,1),cells(10,20)).fontbold=true
10、设置EXCEL表格边框
xsheet.range(cells(1,1),cells(10,20)).borders.linestyle=xlcontinuous
11、运行时,显示EXCEL或隐藏EXCEL
x.visible=true
12、保存工作簿
xbook save
13、退出EXCEL
x.quit
14、交还控制权给EXCEL
set x=nothing
15、打印EXCEL表
x.active.window.selectedsheets.printout copies=numcopies
16、退出EXCEL时,不出现保存提示。
x.displayalerts=false
17、怎样运用EXCEL公式?
x.range("A3").formula= "=max(A1,A2)"
18、EXCEL代码获取技巧
打开EXCEL中的工具----宏----录制新宏,然后进行手工操作,结束后把所录的宏代码贴进你的VB程序就行。
19、合并单元格代码
x.range("A2:A5").inergecells=true
20、自动调整列宽代码
x.column("A:I").autofit ' a到 I列自动调整列宽
21、文本自动换行代码
x.rows(3).wraptext=true
22、设置字体颜色
x.rows(1).font.colorindex=4
23、打印预览代码
x.worksheets.printpreview
24、打开EXCEL文件
x.workbooks.open filename:="c:\my documents\my vb \lgx \dy.xls" ======================================================================================================
如何用VB控制EXCEL生成报表
贾利冬()
做为一种简捷、系统的 Windows应用程序开发工具,Visual Basic 6 具有强大的数据处理功能,提供了多种数据访问方法,可以方便地存取Microsoft SQL
Server、Oracle、XBase等多种数据库,被广泛应用于建立各种信息管理系统。但是,VB缺乏足够的、符合中文习惯的数据表格输出功能,虽然使用Crystal Report控件及 Crystal Reports程序可以输出报表,但操作起来很麻烦,中文处理能力也不理想。Excel作为Micorsoft公司的表格处理软件在表格方面有着强大的功能,我们可用VB5编写直接控制Excel操作的程序,方法是用VB的OLE自动化技术获取Excel 2000 的控制句柄,从而直接控制Excel 2000的一系列操作。
下面给出一个实例:
首先建立一个窗体(FORM1)在窗体中加入一个DATA控件和一按钮, 引用Microsoft Excel类型库:
从"工程"菜单中选择"引用"栏;
选择Microsoft Excel 9.0 Object Library;
选择"确定"。
然后在FORM的LOAD事件中加入:
Private Sub Form_Load()
'数据库及表可以另选,本文以Nwind.mdb为例
Data1.DatabaseName = "C:\Program Files\Microsoft Visual
Studio\VB98\Nwind.mdb"
Data1.RecordSource = "Customers"
Data1.Refresh
End Sub
在按钮的CLICK事件中加入
Private Sub Command1_Click()
Dim Irow, Icol As Integer
Dim Irowcount, Icolcount As Integer
Dim Fieldlen() '存字段长度值
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
With Data1.Recordset
.MoveLast
If .RecordCount < 1 Then
MsgBox ("Error 没有记录!")
Exit Sub
End If
Irowcount = .RecordCount '记录总数
Icolcount = .Fields.Count '字段总数
ReDim Fieldlen(Icolcount)
.MoveFirst
For Irow = 1 To Irowcount + 1
For Icol = 1 To Icolcount
Select Case Irowvb2008,excel。
Case 1 '在Excel中的第一行加标题
xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1).Name Case 2 '将数组FIELDLEN()存为第一条记录的字段长
If IsNull(.Fields(Icol - 1)) = True Then
Fieldlen(Icol) = LenB(.Fields(Icol - 1).Name)
'如果字段值为NULL,则将数组Filelen(Icol)的值设为标题名的宽度 Else
Fieldlen(Icol) = LenB(.Fields(Icol - 1))
End If
xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)
'Excel列宽等于字段长
xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1)
'向Excel的CellS中写入字段值
Case Else
Fieldlen1 = LenB(.Fields(Icol - 1))
If Fieldlen(Icol) < Fieldlen1 Then
xlSheet.Columns(Icol).ColumnWidth = Fieldlen1
'表格列宽等于较长字段长
Fieldlen(Icol) = Fieldlen1
'数组Fieldlen(Icol)中存放最大字段长度值
Else
xlSheet.Columns(Icol).ColumnWidth = Fieldlen(Icol)
End If
xlSheet.Cells(Irow, Icol).Value = .Fields(Icol - 1)
End Selectvb2008,excel。
Next
If Irow <> 1 Then
If Not .EOF Then .MoveNext
End If
Next
With xlSheet
.Range(.Cells(1, 1), .Cells(1, Icol - 1)).Font.Name = "黑体" '设标题为黑体字
.Range(.Cells(1, 1), .Cells(1, Icol - 1)).Font.Bold = True '标题字体加粗
.Range(.Cells(1, 1), .Cells(Irow, Icol - 1)).Borders.LineStyle = xlContinuous
'设表格边框样式
End With
xlApp.Visible = True '显示表格
VS2008环境使用MFC操作读取excel文件
篇四:vb2008,excel
1. 建立MFC工程,MDI(基于对话框),其他默认即可。
2. 操作Excel文件初始化:
a. project->add class->MFC class from typelib (项目->添加类->Typelib中的MFC类)导入Excel.exe,一般都在C:/Program Files/Microsoft Office/Office12路径下(即选择你的office安装路径下的excel.exe加入)
b. 选中以下几项_Application,_WorkSheet,_WorkBook,WorkSheets,WorkBooks,Range,然后导入;
c. 导入后自动在工程中添加CApplication,CWorkSheet,CWorkBook,CWorkSheets,CWorkBooks,CRange这些类;
然后需要把这些类的头文件中的第一句话 #import ".......EXCEL.EXE" nonamespace 删除;
引入之后如果编译遇到错误,Not enough actual parameters for macro 'DialogBoxW'. 让人头疼!
解决方法是在CRange类中,
[cpp] view plaincopy 1. VARIANT DialogBox()
2. {
3. VARIANT result; 4. InvokeHelper(0xf5, DISPATCH_METHOD, VT_VARIANT, (void*)&result, NULL);
5. return result;
6. }
DialogBox()前面添加下划线变成_DialogBox(),解决了!
3.操作excel文件
在“资源”里面选择MFC自动建立的对话框,双击“打开”按钮(若没有就自己做一个),然后程序会将你到对这个按钮的函数里,在函数中写如下内容:(文件是CxxxDlg.cpp xxx是你的项目名称)
[cpp] view plaincopy 1. void Cexcel打开3Dlg::OnBnClickedOk()
2. {
3. // TODO: 在此添加控件通知处理程序代码
4. CApplication app;
5. CWorkbooks books;
6. CWorkbook book;
7. CWorksheets sheets;
8. CWorksheet sheet;
9. CRange range;
10. CRange iCell;
11. LPDISPATCH lpDisp;
12. COleVariant vResult;
13. COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR);
14. if(!app.CreateDispatch(L"Excel.Application"))
15. {
16. AfxMessageBox(L"无法启动Excel服务器!");
17. return;
18. }
19. books.AttachDispatch(app.get_Workbooks());
20. lpDisp = books.Open(“d://test.xls”,covOptional, covOptional, covOptional
, covOptional, covOptional,covOptional, covOptional, covOptional, covOptional, covOptional,covOptional, covOptional, covOptional,covOptional);
21.
22. //得到Workbook
23. book.AttachDispatch(lpDisp);
24. //得到Worksheets
25. sheets.AttachDispatch(book.get_Worksheets());
26.
27. //得到当前活跃sheet
28. //如果有单元格正处于编辑状态中,此操作不能返回,会一直等待
29. lpDisp=book.get_ActiveSheet();
30. sheet.AttachDispatch(lpDisp);
31. //读取第一个单元格的值
32. range.AttachDispatch(sheet.get_Cells());
33. range.AttachDispatch(range.get_Item (COleVariant((long)2),COleVariant((l
ong)1)).pdispVal );
34. /*COleVariant*/ vResult =range.get_Value2();
35. CString str;
36. if(vResult.vt == VT_BSTR) //字符串
37. {
38. str=vResult.bstrVal;
39. }
40. else if (vResult.vt==VT_R8) //8字节的数字
41. {
42. str.Format(L"%f",vResult.dblVal);
43. }
44.
45. /*else if(vResult.vt==VT_DATE) //时间格式
46. {
47. SYSTEMTIME st;
48. VariantTimeToSystemTime(&vResult.date, &st);
49. }
50. else if(vResult.vt==VT_EMPTY) //单元格空的
51. {
52. str="";
53. }*/
54. books.Close();
55. app.Quit(); // 退出
56. //释放对象
57. range.ReleaseDispatch();
58. sheet.ReleaseDispatch();
59. sheets.ReleaseDispatch();
60. book.ReleaseDispatch();
62. app.ReleaseDispatch();
63. OnOK();
64. MessageBox(str);
65. }
开始有一个教程没有如下代码(上一个代码框已包含)
[cpp] view plaincopy 1. books.Close();
2. app.Quit(); // 退出
3. //释放对象 4. range.ReleaseDispatch();
5. sheet.ReleaseDispatch();
6. sheets.ReleaseDispatch();