VB操作EXCEL文件大全

  1. Private Sub writeToExcel(strTmp1() As String, colTmp1 As Collection)
  2. ‘    Dim tmp1
  3. Dim i1 As Integer, intCol As Integer, intRow As Integer
  4. Dim xlApp As New Excel.Application
  5. Dim xlBook As New Excel.Workbook
  6. Dim xlSheet As New Excel.Worksheet
  7. Dim strName As String, strArray1() As String
  8. Dim strS1 As String
  9. Dim strD1 As String
  10. strS1 = CurrentProject.Path + "\template.xls"
  11. strD1 = CurrentProject.Path + "\" + CStr(Format(Now, "YYYYMMDDHHMMSS")) + "aaa1.xls"
  12. ‘    For i1 = 0 To UBound(strTmp1) - 1
  13. ‘        Debug.Print strTmp1(i1) + " " + CStr(i1)
  14. ‘    Next i1
  15. ‘    strName = CurrentProject.Path + "\aaa1.xls"
  16. FileCopy strS1, strD1
  17. Set xlApp = CreateObject("Excel.Application")
  18. xlApp.Visible = False
  19. ‘    Set xlBook = xlApp.Workbooks.Open(strName)
  20. Set xlBook = xlApp.Workbooks.Open(strD1)
  21. Set xlSheet = xlBook.Worksheets(1)
  22. With xlSheet
  23. .Range("F6").Value = strTmp1(1)
  24. .Range("H6").Value = strTmp1(2)
  25. .Range("F7").Value = CStr(Date)
  26. .Range("E10").Value = strTmp1(9)
  27. .Range("A15").Value = "To: " + strTmp1(8)
  28. .Range("B26").Value = strTmp1(4) + "PACKAGES"
  29. .Range("B27").Value = strTmp1(5) + "KGS"
  30. .Range("B28").Value = strTmp1(6) + "KGS"
  31. .Range("B29").Value = strTmp1(7) + "M3"
  32. End With
  33. intCol = 1
  34. intRow = 21
  35. For i1 = 1 To colTmp1.Count
  36. strArray1 = colTmp1.Item(i1)
  37. With xlSheet
  38. .Cells(intRow, 1).Value = strArray1(2)
  39. .Cells(intRow, 2).Value = strArray1(5)
  40. .Cells(intRow, 4).Value = strArray1(6)
  41. .Cells(intRow, 5).Value = strArray1(1)
  42. .Cells(intRow, 6).Value = strArray1(3)
  43. .Cells(intRow, 7).Value = strArray1(4)
  44. .Cells(intRow, 8).Value = strArray1(7)
  45. .Cells(intRow, 9).Value = strArray1(9)
  46. intRow = intRow + 1
  47. xlApp.ActiveSheet.Rows(intRow).Insert
  48. .Cells(intRow, 1).Value = strArray1(8)
  49. intRow = intRow + 1
  50. xlApp.ActiveSheet.Rows(intRow).Insert
  51. End With
  52. intRow = intRow + 1
  53. xlApp.ActiveSheet.Rows(intRow).Insert
  54. Next i1
  55. xlApp.Visible = True
  56. xlBook.Save
  57. ‘    xlBook.Close
  58. Set xlSheet = Nothing
  59. Set xlBook = Nothing
  60. ‘    xlApp.Quit
  61. ‘    tmp1 = Shell(strName, 1)
  62. ‘    hWndDesk = GetDesktopWindow()
  63. ‘    r = ShellExecute(hWndDesk, "Open", strName, vbNullString, 0&, 1)
  64. Dim xlApp As New Excel.Application
    Dim xlBook As New Excel.Workbook
    Dim xlSheet As New Excel.Worksheet
  65. Public Sub exportExcel()

    Dim strA1() As String, strA2() As String, strTmp1 As String, strDATE As String, strName As String, strValue As String
    Dim intFieldLength As Integer, i1 As Integer, i2 As Integer, lngCount As Long
    Dim rs1 As DAO.Recordset

    strTmp1 = "A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1,U1,V1,W1,X1,Y1,Z1,AA1,AB1,AC1,AD1,AE1,AF1,AG1,AH1,AI1,AJ1,AK1,AL1,AM1,AN1,AO1,AP1,AQ1,AR1,AS1,AT1,AU1,AV1,AW1,AX1,AY1,AZ1,BA1,BB1,BC1,BD1,BE1,BF1,BG1,BH1,BI1,BJ1,BK1,BL1,BM1,BN1,BO1,BP1,BQ1,BR1,BS1,BT1,BU1,BV1,BW1,BX1,BY1,BZ1,CA1,CB1,CC1,CD1,CE1,CF1,CG1,CH1,CI1,CJ1,CK1,CL1,CM1,CN1,CO1,CP1,CQ1,CR1,CS1,CT1,CU1,CV1,CW1,CX1,CY1,CZ1"
    strA1 = Split(strTmp1, ",")

    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = False
    Set xlBook = xlApp.Workbooks.Add

    strDATE = CStr(Format(Date, "YYYY-MM-DD"))
    Me.CommonDialog1.DefaultExt = "xls"
    Me.CommonDialog1.Filename = "帐单输出" + strDATE + ".xls"
    Me.CommonDialog1.Filter = "EXCEL FILE(*.xls)|*.xls"
    Me.CommonDialog1.ShowSave

    strName = Me.CommonDialog1.Filename
    xlBook.SaveAs strName
    Set xlBook = xlApp.Workbooks.Open(strName)
    Set xlSheet = xlBook.Worksheets(1)

    strSQL = "SELECT * FROM HEADCOST1; "
    Set rs1 = CurrentDb.OpenRecordset(strSQL)
    rs1.MoveLast
    Debug.Print rs1.RecordCount
    lngCount = rs1.RecordCount
    intFieldLength = rs1.Fields.Count
    ‘ Debug.Print intFieldLength
    Debug.Print intFieldLength
    strA2() = Split(splitTable("HEADCOST1"), ",")
    Debug.Print UBound(strA2)

    With xlSheet
    For i1 = 0 To intFieldLength - 1
    Debug.Print i1
    Debug.Print strA1(i1)
    .Range(strA1(i1)).Value = getZValue(strA2(i1))
    Next i1
    End With

    If rs1.RecordCount <> 0 Then
    rs1.MoveFirst
    For i1 = 1 To lngCount
    For i2 = 1 To rs1.Fields.Count
    If IsNull(rs1(i2 - 1)) Then
    strValue = " "
    Else
    strValue = rs1(i2 - 1).Value
    End If
    xlSheet.Cells(i1 + 1, i2) = strValue
    Next i2
    rs1.MoveNext
    Next i1
    rs1.MoveFirst
    Else
    MsgBox "未读取到数据", vbCritical, "错误"
    End If

    xlBook.Save
    xlBook.Close

    Set xlSheet = Nothing
    Set xlBook = Nothing
    xlApp.Quit
    Set xlApp = Nothing

    rs1.Close
    Set rs1 = Nothing
    End Sub

Private Sub Command1_Click()
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlBook = xlApp.Workbooks.Add

Dim strDate As String, strName As String, strValue As String
strDate = CStr(Format(Date, "yyyy-mm-dd"))
Me.CommonDialog1.DefaultExt = "xls"
Me.CommonDialog1.FileName = "SEND3B2" + strDate + ".xls"
Me.CommonDialog1.Filter = "EXCEL FILE(*.xls)|*.xls"
Me.CommonDialog1.ShowSave

strName = Me.CommonDialog1.FileName
Debug.Print strName
xlBook.SaveAs strName
Set xlBook = xlApp.Workbooks.Open(strName)
Set xlSheet = xlBook.Worksheets(1)
‘ For i1 = 0 To Me.DataGrid1.Columns.Count - 1
‘ xlSheet.Cells(1, i1 + 1) = Me.DataGrid1.Columns.Item(j).Caption
‘ Next i1
With xlSheet
.Range("A1").Value = "ORDERKEY"
.Range("B1").Value = "EXTERNORDERKEY"
.Range("C1").Value = "MM"
.Range("D1").Value = "QTY"
.Range("E1").Value = "PRODUCTDESP"
.Range("F1").Value = "DIVISION"
.Range("G1").Value = "MOQ"
.Range("H1").Value = "OVERPACKQTY"
.Range("I1").Value = "OVERPACK ?"
.Range("J1").Value = "CTNQTY"
.Range("K1").Value = "OPCTNQTY"
.Range("L1").Value = "CTN_PALLET"
.Range("M1").Value = "PALLETNO"
.Range("N1").Value = "PALLETWEIGHT"
.Range("O1").Value = "PALLETVOLUME"
.Range("P1").Value = "PALLETLENGTH"
.Range("Q1").Value = "PALLETWIDTH"
.Range("R1").Value = "PALLETHIGH"
.Range("S1").Value = "DELIVERYDATE"
.Range("T1").Value = "CONSIGNEEKEY"
.Range("U1").Value = "C_COUNTRY"
.Range("V1").Value = "BILLTOKEY"
.Range("W1").Value = "INCOTERM"
.Range("X1").Value = "STATUS"
.Range("Y1").Value = "INTERMODALVEHICLE"
.Range("Z1").Value = "ORDERGROUP"
.Range("AA1").Value = "HAWB"
.Range("AB1").Value = "REQSHIPDATE"
.Range("AC1").Value = "RELEASEDDATE"
.Range("AD1").Value = "C_COMPANY"
End With
If Me.Adodc1.Recordset.RecordCount <> 0 Then
Me.Adodc1.Recordset.MoveFirst
For i1 = 1 To Me.Adodc1.Recordset.RecordCount
For i2 = 1 To Me.Adodc1.Recordset.Fields.Count
If IsNull(Me.Adodc1.Recordset.Fields(i2 - 1)) Then
strValue = " "
Else
strValue = Me.Adodc1.Recordset.Fields(i2 - 1).Value ‘: Debug.Print strValue
End If
xlSheet.Cells(i1 + 1, i2) = strValue
Next i2
Me.Adodc1.Recordset.MoveNext
Next i1
Me.Adodc1.Recordset.MoveFirst
Else
MsgBox "请先查询数据", vbCritical, "错误"
End If

xlBook.Save

xlBook.Close
Set xlSheet = Nothing
Set xlBook = Nothing
‘ xlApp.Visible = True
xlApp.Quit
Set xlApp = Nothing
End Sub

用VB操作Excel(VB6.0)(整理)

首先创建Excel对象,使用ComObj:
Dim ExcelID as Excel.Application
Set ExcelID as new Excel.Application

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)设置指定列的宽度(单位:字符个数),以第一列为例:
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;
14)进行页面设置:
a.页眉:
ExcelID.ActiveSheet.PageSetup.CenterHeader:=‘报表演示‘;
b.页脚:
ExcelID.ActiveSheet.PageSetup.CenterFooter:=‘第&P页‘;
c.页眉到顶端边距2cm:
ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;
d.页脚到底端边距3cm:
ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;
e.顶边距2cm:
ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;
f.底边距2cm:
ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;
g.左边距2cm:
ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;
h.右边距2cm:
ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;
i.页面水平居中:
ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035;
j.页面垂直居中:
ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035;
k.打印单元格网线:
ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;
15)拷贝操作:
a.拷贝整个工作表:
ExcelID.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
ExcelID.ActiveSheet.Range[‘A1:E2‘].Copy;
c.从A1位置开始粘贴:
ExcelID.ActiveSheet.Range.[‘A1‘].PasteSpecial;
d.从文件尾部开始粘贴:
ExcelID.ActiveSheet.Range.PasteSpecial;
16)插入一行或一列:
a.ExcelID.ActiveSheet.Rows[2].Insert;
b.ExcelID.ActiveSheet.Columns[1].Insert;
17)删除一行或一列:
a.ExcelID.ActiveSheet.Rows[2].Delete;
b.ExcelID.ActiveSheet.Columns[1].Delete;
18)打印预览工作表:
ExcelID.ActiveSheet.PrintPreview;
19)打印输出工作表:
ExcelID.ActiveSheet.PrintOut;
20)工作表保存:
IfnotExcelID.ActiveWorkBook.Savedthen
ExcelID.ActiveSheet.PrintPreview
Endif
21)工作表另存为:
ExcelID.SaveAs(‘C:\Excel\Demo1.xls‘);
22)放弃存盘:
ExcelID.ActiveWorkBook.Saved:=True;
23)关闭工作簿:
ExcelID.WorkBooks.Close;
24)退出Excel:
ExcelID.Quit;
25)设置工作表密码:
ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Contents:=True,Scenarios:=True
26)EXCEL的显示方式为最大化
ExcelID.Application.WindowState=xlMaximized
27)工作薄显示方式为最大化
ExcelID.ActiveWindow.WindowState=xlMaximized
28)设置打开默认工作薄数量
ExcelID.SheetsInNewWorkbook=3
29)‘关闭时是否提示保存(true保存;false不保存)
ExcelID.DisplayAlerts=False
30)设置拆分窗口,及固定行位置
ExcelID.ActiveWindow.SplitRow=1
ExcelID.ActiveWindow.FreezePanes=True
31)设置打印时固定打印内容
ExcelID.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"
32)设置打印标题
ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=""
33)设置显示方式(分页方式显示)
ExcelID.ActiveWindow.View=xlPageBreakPreview
34)设置显示比例
ExcelID.ActiveWindow.Zoom=100
35)让Excel响应DDE请求
Ex.Application.IgnoreRemoteRequests=False

用VB操作EXCEL示例代码
Private Sub Command3_Click()
On Error GoTo err1
Dim i As Long
Dim j As Long
Dim objExl As Excel.Application ‘声明对象变量
Me.MousePointer=11 ‘改变鼠标样式
Set objExl=New Excel.Application‘初始化对象变量
objExl.SheetsInNewWorkbook=1 ‘将新建的工作薄数量设为1
objExl.Workbooks.Add‘增加一个工作薄
objExl.Sheets(objExl.Sheets.Count).Name="book1" ‘修改工作薄名称
objExl.Sheets.Add,objExl.Sheets("book1")‘增加第二个工作薄在第一个之后
objExl.Sheets(objExl.Sheets.Count).Name="book2"
objExl.Sheets.Add,objExl.Sheets("book2")‘增加第三个工作薄在第二个之后
objExl.Sheets(objExl.Sheets.Count).Name="book3"

objExl.Sheets("book1").Select ‘选中工作薄<book1>
For i=1 To 50‘循环写入数据
For j=1 To 5
If i=1 Then
objExl.Selection.NumberFormatLocal="@" ‘设置格式为文本
objExl.Cells(i,j)="E"&i&j
Else
objExl.Cells(i,j)=i&j
EndIf
Next
Next
objExl.Rows("1:1").Select ‘选中第一行
objExl.Selection.Font.Bold=True ‘设为粗体
objExl.Selection.Font.Size=24 ‘设置字体大小
objExl.Cells.EntireColumn.AutoFit ‘自动调整列宽
objExl.ActiveWindow.SplitRow=1 ‘拆分第一行
objExl.ActiveWindow.SplitColumn=0 ‘拆分列
objExl.ActiveWindow.FreezePanes=True ‘固定拆分objExl.ActiveSheet.PageSetup.PrintTitleRows="$1:$1" ‘设置打印固定行
objExl.ActiveSheet.PageSetup.PrintTitleColumns=""‘打印标题objExl.ActiveSheet.PageSetup.RightFooter="打印时间:"&_
Format(Now,"yyyy年mm月dd日hh:MM:ss")
objExl.ActiveWindow.View=xlPageBreakPreview‘设置显示方式
objExl.ActiveWindow.Zoom=100 ‘设置显示大小
‘给工作表加密码
objExl.ActiveSheet.Protect"123",DrawingObjects:=True, _
Contents:=True,Scenarios:=True
objExl.Application.IgnoreRemoteRequests=False
objExl.Visible=True ‘使EXCEL可见
objExl.Application.WindowState=xlMaximized‘EXCEL的显示方式为最大化
objExl.ActiveWindow.WindowState=xlMaximized‘工作薄显示方式为最大化
objExl.SheetsInNewWorkbook=3 ‘将默认新工作薄数量改回3个
Set objExl=Nothing‘清除对象
Me.MousePointer=0 ‘修改鼠标
ExitSub
err1:
objExl.SheetsInNewWorkbook=3

objExl.DisplayAlerts=False ‘关闭时不提示保存
objExl.Quit‘关闭EXCEL
objExl.DisplayAlerts=True ‘关闭时提示保存
Set objExl=Nothing
Me.MousePointer=0
End Sub

Dim excelfile As Excel.Application, excelwbook As Excel.Workbook, excelsheet As Excel.Worksheet

Private Sub ImportExcelData()

On Error GoTo Err_ImportExcelData
Dim strFile As String
Dim strB1() As String, intTmp1 As Integer

DoCmd.RunSQL "DELETE * FROM APTmp "
Me.CommonDialog8.ShowOpen
strFile = Me.CommonDialog8.Filename

Debug.Print strFile
If strFile = "" Then
MsgBox "没有选择文件", vbCritical, "错误"
Exit Sub
End If

Set excelfile = New Excel.Application
Set excelwbook = excelfile.Workbooks.Open(strFile)
Set excelsheet = excelwbook.Sheets(1)

lastCol = excelsheet.UsedRange.Columns.Count
lastRow = excelsheet.UsedRange.Rows.Count
Debug.Print lastCol
Debug.Print lastRow

Debug.Print excelsheet.Cells(1, 1)

strB1 = Split(strFile, "\")
intTmp1 = UBound(strB1)
strFile = strB1(intTmp1)
Debug.Print strFile

‘ If checkFileName(strFile) = True Then
‘ MsgBox "此文件名已经导入过,不可再导入", vbCritical, "错误"
‘ Exit Sub
‘ End If

If intChange = 2 Then
Call ImportAPData2(strFile)
Else
Call ImportAPData(strFile)
End If

excelwbook.Close
excelfile.Quit
Set excelfile = Nothing
Set excelwbook = Nothing
MsgBox "EXCEL数据导入完成", , "提示"
Exit_ImportExcelData:
Exit Sub
Err_ImportExcelData:
MsgBox Err.Description
Resume Exit_ImportExcelData
End

Private Sub ImportAPData(strTmp1 As String)

Dim i2 As Long, strTmp2 As String, boolTmp1 As Boolean

For i2 = 2 To lastRow
Debug.Print excelsheet.Cells(i2, 7)
If checkDN(Trim(CStr(excelsheet.Cells(i2, 7))), "APT") = True Then

If checkRoute(Trim(CStr(excelsheet.Cells(i2, 5)))) = False Then
strTmp2 = Trim(CStr(excelsheet.Cells(i2, 1)))
boolTmp1 = True
Else
strTmp2 = "WBLP"
GoTo LOOP1
End If

If checkR8(Trim(CStr(excelsheet.Cells(i2, 8)))) = 1 Then GoTo LOOP1

‘ 1 2 3 4 5 6 7 8 9
strSQL = "INSERT INTO APTmp ( OrderType, CreateDate, GIdate, ShipTo, Route, OriginDoc, DeliveryNum, LOCATION, HAWB ) "
‘ strSQL = strSQL + "VALUES(‘" + Trim(CStr(excelsheet.Cells(i2, 1))) + "‘,"
strSQL = strSQL + "VALUES(‘" + strTmp2 + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 2))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 3))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 4))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 5))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 6))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 7))) + "‘, "
‘ If checkRoute(Trim(CStr(excelsheet.Cells(i2, 5)))) = False Then
‘ strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 8))) + "‘) "
‘ Else
‘ strSQL = strSQL + "‘" + addR8TSHAWB + "‘)"

‘ End If
‘ strSQL = strSQL + "‘" + strTmp1 + "‘" + ") "
If Trim(CStr(excelsheet.Cells(i2, 9))) = "" Then
strSQL = strSQL + "‘" + "R811" + "‘, "
Else
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 9))) + "‘, "
End If
If boolTmp1 = True Then
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 8))) + "‘) "
boolTmp1 = False
Else
strSQL = strSQL + "‘" + addR8TSHAWB + "‘)"
boolTmp1 = False
GoTo LOOP1
End If
Debug.Print strSQL
DoCmd.RunSQL strSQL
LOOP1:
strTmp2 = ""
boolTmp1 = False
End If
Next i2
Call ImportTAPData
End Sub
‘INSERT INTO APTmp ( OrderType, CreateDate, GIdate, ShipTo, Route, OriginDoc, DeliveryNum, HAWB )
‘VALUES(‘1‘,‘1‘,‘1‘,‘1‘,‘1‘,‘1‘,‘1‘,‘1‘)

Private Sub ImportAPData2(strTmp1 As String)

Dim i2 As Long, strTmp2 As String, boolTmp1 As Boolean

For i2 = 2 To lastRow
Debug.Print excelsheet.Cells(i2, 10): Debug.Print excelsheet.Cells(i2, 7)
If checkDN(Trim(CStr(excelsheet.Cells(i2, 10))), "APT") = True Then

If checkRoute(Trim(CStr(excelsheet.Cells(i2, 5)))) = False Then
strTmp2 = Trim(CStr(excelsheet.Cells(i2, 1)))
boolTmp1 = True
Else
strTmp2 = "WBLP"
GoTo LOOP1
End If

If checkR8(Trim(CStr(excelsheet.Cells(i2, 12)))) = 1 Then GoTo LOOP1

‘ 1 2 3 4 5 6 7 8 9
strSQL = "INSERT INTO APTmp ( OrderType, CreateDate, GIdate, ShipTo, Route, OriginDoc, DeliveryNum, LOCATION, HAWB ) "
‘ strSQL = strSQL + "VALUES(‘" + Trim(CStr(excelsheet.Cells(i2, 1))) + "‘," 2012-9-7 修改添加WBLP条款
strSQL = strSQL + "VALUES(‘" + strTmp2 + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 3))) + "‘,"
‘ strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 5))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 4))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 6))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 7))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 8))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 10))) + "‘, "
‘ If checkRoute(Trim(CStr(excelsheet.Cells(i2, 5)))) = False Then
‘ strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 8))) + "‘) "
‘ Else
‘ strSQL = strSQL + "‘" + addR8TSHAWB + "‘)"

‘ End If
‘ strSQL = strSQL + "‘" + strTmp1 + "‘" + ") "
‘ If Trim(CStr(excelsheet.Cells(i2, 9))) = "" Then
strSQL = strSQL + "‘" + "R811" + "‘, "
‘ Else
‘ strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 9))) + "‘, "
‘ End If
If boolTmp1 = True Then
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 12))) + "‘) "
boolTmp1 = False
Else
strSQL = strSQL + "‘" + addR8TSHAWB + "‘)"
boolTmp1 = False
GoTo LOOP1
End If
Debug.Print strSQL
DoCmd.RunSQL strSQL
LOOP1:
strTmp2 = ""
boolTmp1 = False
End If
Next i2
Call ImportTAPData
End Sub

Private Sub Command3_Click()
On Error GoTo err1
Dim i As Long
Dim j As Long
Dim objExl As Excel.Application ‘声明对象变量
Me.MousePointer = 11 ‘改变鼠标样式
Set objExl = New Excel.Application ‘初始化对象变量
objExl.SheetsInNewWorkbook = 1 ‘将新建的工作薄数量设为1
objExl.Workbooks.Add ‘增加一个工作薄
objExl.Sheets(objExl.Sheets.Count).Name = "book1" ‘修改工作薄名称
objExl.Sheets.Add , objExl.Sheets("book1") ‘增加第二个工作薄在第一个之后
objExl.Sheets(objExl.Sheets.Count).Name = "book2"
objExl.Sheets.Add , objExl.Sheets("book2") ‘增加第三个工作薄在第二个之后
objExl.Sheets(objExl.Sheets.Count).Name = "book3"
objExl.Sheets("book1").Select ‘选中工作薄<book1>
For i = 1 To 50 ‘循环写入数据
For j = 1 To 5
If i = 1 Then
objExl.Selection.NumberFormatLocal = "@" ‘设置格式为文本
objExl.Cells(i, j) = " E " & i & j
Else
objExl.Cells(i, j) = i & j
End If
Next
Next
objExl.Rows("1:1").Select ‘选中第一行
objExl.Selection.Font.Bold = True ‘设为粗体
objExl.Selection.Font.Size = 24 ‘设置字体大小
objExl.Cells.EntireColumn.AutoFit ‘自动调整列宽
objExl.ActiveWindow.SplitRow = 1 ‘拆分第一行
objExl.ActiveWindow.SplitColumn = 0 ‘拆分列
objExl.ActiveWindow.FreezePanes = True ‘固定拆分
objExl.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1" ‘设置打印固定行
objExl.ActiveSheet.PageSetup.PrintTitleColumns = "" ‘打印标题
objExl.ActiveSheet.PageSetup.RightFooter = "打印时间: " & _
Format(Now, "yyyy年mm月dd日 hh:MM:ss")
objExl.ActiveWindow.View = xlPageBreakPreview ‘设置显示方式
objExl.ActiveWindow.Zoom = 100 ‘设置显示大小
‘给工作表加密码
objExl.ActiveSheet.Protect "123", DrawingObjects:=True, _
Contents:=True, Scenarios:=True
objExl.Application.IgnoreRemoteRequests = False
objExl.Visible = True ‘使EXCEL可见
objExl.Application.WindowState = xlMaximized ‘EXCEL的显示方式为最大化
objExl.ActiveWindow.WindowState = xlMaximized ‘工作薄显示方式为最大化
objExl.SheetsInNewWorkbook = 3 ‘将默认新工作薄数量改回3个
Set objExl = Nothing ‘清除对象
Me.MousePointer = 0 ‘修改鼠标
Exit Sub

err1:
objExl.SheetsInNewWorkbook = 3
objExl.DisplayAlerts = False ‘关闭时不提示保存
objExl.Quit ‘关闭EXCEL
objExl.DisplayAlerts = True ‘关闭时提示保存
Set objExl = Nothing
Me.MousePointer = 0
End Sub

=====================================
全面控制 Excel

首先创建 Excel 对象,使用ComObj:
Dim ExcelID as Excel.Application
Set ExcelID as new Excel.Application

1) 显示当前窗口:ExcelID.Visible := True;

2) 更改 Excel 标题栏:ExcelID.Caption := ‘应用程序调用 Microsoft Excel‘;

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) 设置指定列的宽度(单位:字符个数),以第一列为例:
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;

14) 进行页面设置:
a.页眉:ExcelID.ActiveSheet.PageSetup.CenterHeader := ‘报表演示‘;
b.页脚:ExcelID.ActiveSheet.PageSetup.CenterFooter := ‘第&P页‘;
c.页眉到顶端边距2cm:ExcelID.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
d.页脚到底端边距3cm:ExcelID.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
e.顶边距2cm:ExcelID.ActiveSheet.PageSetup.TopMargin := 2/0.035;
f.底边距2cm:ExcelID.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
g.左边距2cm:ExcelID.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
h.右边距2cm:ExcelID.ActiveSheet.PageSetup.RightMargin := 2/0.035;
i.页面水平居中:ExcelID.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
j.页面垂直居中:ExcelID.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
k.打印单元格网线:ExcelID.ActiveSheet.PageSetup.PrintGridLines := True;

15) 拷贝操作:
a.拷贝整个工作表:ExcelID.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:ExcelID.ActiveSheet.Range[ ‘A1:E2‘ ].Copy;
c.从A1位置开始粘贴:ExcelID.ActiveSheet.Range.[ ‘A1‘ ].PasteSpecial;
d.从文件尾部开始粘贴:ExcelID.ActiveSheet.Range.PasteSpecial;

16) 插入一行或一列:
a. ExcelID.ActiveSheet.Rows[2].Insert;
b. ExcelID.ActiveSheet.Columns[1].Insert;

17) 删除一行或一列:
a. ExcelID.ActiveSheet.Rows[2].Delete;
b. ExcelID.ActiveSheet.Columns[1].Delete;

18) 打印预览工作表:
ExcelID.ActiveSheet.PrintPreview;

19) 打印输出工作表:
ExcelID.ActiveSheet.PrintOut;

20) 工作表保存:
If not ExcelID.ActiveWorkBook.Saved then
ExcelID.ActiveSheet.PrintPreview
  End if

21) 工作表另存为:
ExcelID.SaveAs( ‘C:\Excel\Demo1.xls‘ );

22) 放弃存盘:
ExcelID.ActiveWorkBook.Saved := True;

23) 关闭工作簿:
ExcelID.WorkBooks.Close;

24) 退出 Excel:ExcelID.Quit;

25) 设置工作表密码:
ExcelID.ActiveSheet.Protect "123", DrawingObjects:=True, Contents:=True, Scenarios:=True

26) EXCEL的显示方式为最大化
ExcelID.Application.WindowState = xlMaximized

27) 工作薄显示方式为最大化
ExcelID.ActiveWindow.WindowState = xlMaximized

28) 设置打开默认工作薄数量
ExcelID.SheetsInNewWorkbook = 3

29) ‘关闭时是否提示保存(true 保存;false 不保存)
ExcelID.DisplayAlerts = False

30) 设置拆分窗口,及固定行位置
ExcelID.ActiveWindow.SplitRow = 1
ExcelID.ActiveWindow.FreezePanes = True

31) 设置打印时固定打印内容
ExcelID.ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"

32) 设置打印标题
ExcelID.ActiveSheet.PageSetup.PrintTitleColumns = ""

33) 设置显示方式(分页方式显示)
ExcelID.ActiveWindow.View = xlPageBreakPreview

34) 设置显示比例
ExcelID.ActiveWindow.Zoom = 100

35) 让Excel 响应 DDE 请求
Ex.Application.IgnoreRemoteRequests = False

用VB操作Excel(VB6.0)(整理)
2008-09-23 22:16:30| 分类: 文章转载 | 标签:excel office |字号 订阅
用VB操作Excel(VB6.0)(整理)
全面控制Excel:
首先创建Excel对象,使用ComObj:
Dim ExcelID as Excel.Application
Set ExcelID as new Excel.Application

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)设置指定列的宽度(单位:字符个数),以第一列为例:
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;
14)进行页面设置:
a.页眉:
ExcelID.ActiveSheet.PageSetup.CenterHeader:=‘报表演示‘;
b.页脚:
ExcelID.ActiveSheet.PageSetup.CenterFooter:=‘第&P页‘;
c.页眉到顶端边距2cm:
ExcelID.ActiveSheet.PageSetup.HeaderMargin:=2/0.035;
d.页脚到底端边距3cm:
ExcelID.ActiveSheet.PageSetup.HeaderMargin:=3/0.035;
e.顶边距2cm:
ExcelID.ActiveSheet.PageSetup.TopMargin:=2/0.035;
f.底边距2cm:
ExcelID.ActiveSheet.PageSetup.BottomMargin:=2/0.035;
g.左边距2cm:
ExcelID.ActiveSheet.PageSetup.LeftMargin:=2/0.035;
h.右边距2cm:
ExcelID.ActiveSheet.PageSetup.RightMargin:=2/0.035;
i.页面水平居中:
ExcelID.ActiveSheet.PageSetup.CenterHorizontally:=2/0.035;
j.页面垂直居中:
ExcelID.ActiveSheet.PageSetup.CenterVertically:=2/0.035;
k.打印单元格网线:
ExcelID.ActiveSheet.PageSetup.PrintGridLines:=True;
15)拷贝操作:
a.拷贝整个工作表:
ExcelID.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
ExcelID.ActiveSheet.Range[‘A1:E2‘].Copy;
c.从A1位置开始粘贴:
ExcelID.ActiveSheet.Range.[‘A1‘].PasteSpecial;
d.从文件尾部开始粘贴:
ExcelID.ActiveSheet.Range.PasteSpecial;
16)插入一行或一列:
a.ExcelID.ActiveSheet.Rows[2].Insert;
b.ExcelID.ActiveSheet.Columns[1].Insert;
17)删除一行或一列:
a.ExcelID.ActiveSheet.Rows[2].Delete;
b.ExcelID.ActiveSheet.Columns[1].Delete;
18)打印预览工作表:
ExcelID.ActiveSheet.PrintPreview;
19)打印输出工作表:
ExcelID.ActiveSheet.PrintOut;
20)工作表保存:
IfnotExcelID.ActiveWorkBook.Savedthen
ExcelID.ActiveSheet.PrintPreview
Endif
21)工作表另存为:
ExcelID.SaveAs(‘C:\Excel\Demo1.xls‘);
22)放弃存盘:
ExcelID.ActiveWorkBook.Saved:=True;
23)关闭工作簿:
ExcelID.WorkBooks.Close;
24)退出Excel:
ExcelID.Quit;
25)设置工作表密码:
ExcelID.ActiveSheet.Protect"123",DrawingObjects:=True,Contents:=True,Scenarios:=True
26)EXCEL的显示方式为最大化
ExcelID.Application.WindowState=xlMaximized
27)工作薄显示方式为最大化
ExcelID.ActiveWindow.WindowState=xlMaximized
28)设置打开默认工作薄数量
ExcelID.SheetsInNewWorkbook=3
29)‘关闭时是否提示保存(true保存;false不保存)
ExcelID.DisplayAlerts=False
30)设置拆分窗口,及固定行位置
ExcelID.ActiveWindow.SplitRow=1
ExcelID.ActiveWindow.FreezePanes=True
31)设置打印时固定打印内容
ExcelID.ActiveSheet.PageSetup.PrintTitleRows="$1:$1"
32)设置打印标题
ExcelID.ActiveSheet.PageSetup.PrintTitleColumns=""
33)设置显示方式(分页方式显示)
ExcelID.ActiveWindow.View=xlPageBreakPreview
34)设置显示比例
ExcelID.ActiveWindow.Zoom=100
35)让Excel响应DDE请求
Ex.Application.IgnoreRemoteRequests=False
用VB操作EXCEL示例代码
Private Sub Command3_Click()
On Error GoTo err1
Dim i As Long
Dim j As Long
Dim objExl As Excel.Application ‘声明对象变量
Me.MousePointer=11 ‘改变鼠标样式
Set objExl=New Excel.Application‘初始化对象变量
objExl.SheetsInNewWorkbook=1 ‘将新建的工作薄数量设为1
objExl.Workbooks.Add‘增加一个工作薄
objExl.Sheets(objExl.Sheets.Count).Name="book1" ‘修改工作薄名称
objExl.Sheets.Add,objExl.Sheets("book1")‘增加第二个工作薄在第一个之后
objExl.Sheets(objExl.Sheets.Count).Name="book2"
objExl.Sheets.Add,objExl.Sheets("book2")‘增加第三个工作薄在第二个之后
objExl.Sheets(objExl.Sheets.Count).Name="book3"

objExl.Sheets("book1").Select ‘选中工作薄<book1>
For i=1 To 50‘循环写入数据
For j=1 To 5
If i=1 Then
objExl.Selection.NumberFormatLocal="@" ‘设置格式为文本
objExl.Cells(i,j)="E"&i&j
Else
objExl.Cells(i,j)=i&j
EndIf
Next
Next
objExl.Rows("1:1").Select ‘选中第一行
objExl.Selection.Font.Bold=True ‘设为粗体
objExl.Selection.Font.Size=24 ‘设置字体大小
objExl.Cells.EntireColumn.AutoFit ‘自动调整列宽
objExl.ActiveWindow.SplitRow=1 ‘拆分第一行
objExl.ActiveWindow.SplitColumn=0 ‘拆分列
objExl.ActiveWindow.FreezePanes=True ‘固定拆分objExl.ActiveSheet.PageSetup.PrintTitleRows="$1:$1" ‘设置打印固定行
objExl.ActiveSheet.PageSetup.PrintTitleColumns=""‘打印标题objExl.ActiveSheet.PageSetup.RightFooter="打印时间:"&_
Format(Now,"yyyy年mm月dd日hh:MM:ss")
objExl.ActiveWindow.View=xlPageBreakPreview‘设置显示方式
objExl.ActiveWindow.Zoom=100 ‘设置显示大小
‘给工作表加密码
objExl.ActiveSheet.Protect"123",DrawingObjects:=True, _
Contents:=True,Scenarios:=True
objExl.Application.IgnoreRemoteRequests=False
objExl.Visible=True ‘使EXCEL可见
objExl.Application.WindowState=xlMaximized‘EXCEL的显示方式为最大化
objExl.ActiveWindow.WindowState=xlMaximized‘工作薄显示方式为最大化
objExl.SheetsInNewWorkbook=3 ‘将默认新工作薄数量改回3个
Set objExl=Nothing‘清除对象
Me.MousePointer=0 ‘修改鼠标
ExitSub
err1:
objExl.SheetsInNewWorkbook=3

objExl.DisplayAlerts=False ‘关闭时不提示保存
objExl.Quit‘关闭EXCEL
objExl.DisplayAlerts=True ‘关闭时提示保存
Set objExl=Nothing
Me.MousePointer=0
End Sub
如何实现VB与EXCEL的无缝连接

Dim xlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlSheet As New Excel.Worksheet

Private Sub Command1_Click()
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlBook = xlApp.Workbooks.Add

Dim strDate As String, strName As String, strValue As String
strDate = CStr(Format(Date, "yyyy-mm-dd"))
Me.CommonDialog1.DefaultExt = "xls"
Me.CommonDialog1.FileName = "SEND3B2" + strDate + ".xls"
Me.CommonDialog1.Filter = "EXCEL FILE(*.xls)|*.xls"
Me.CommonDialog1.ShowSave

strName = Me.CommonDialog1.FileName
Debug.Print strName
xlBook.SaveAs strName
Set xlBook = xlApp.Workbooks.Open(strName)
Set xlSheet = xlBook.Worksheets(1)
‘ For i1 = 0 To Me.DataGrid1.Columns.Count - 1
‘ xlSheet.Cells(1, i1 + 1) = Me.DataGrid1.Columns.Item(j).Caption
‘ Next i1
With xlSheet
.Range("A1").Value = "ORDERKEY"
.Range("B1").Value = "EXTERNORDERKEY"
.Range("C1").Value = "MM"
.Range("D1").Value = "QTY"
.Range("E1").Value = "PRODUCTDESP"
.Range("F1").Value = "DIVISION"
.Range("G1").Value = "MOQ"
.Range("H1").Value = "OVERPACKQTY"
.Range("I1").Value = "OVERPACK ?"
.Range("J1").Value = "CTNQTY"
.Range("K1").Value = "OPCTNQTY"
.Range("L1").Value = "CTN_PALLET"
.Range("M1").Value = "PALLETNO"
.Range("N1").Value = "PALLETWEIGHT"
.Range("O1").Value = "PALLETVOLUME"
.Range("P1").Value = "PALLETLENGTH"
.Range("Q1").Value = "PALLETWIDTH"
.Range("R1").Value = "PALLETHIGH"
.Range("S1").Value = "DELIVERYDATE"
.Range("T1").Value = "CONSIGNEEKEY"
.Range("U1").Value = "C_COUNTRY"
.Range("V1").Value = "BILLTOKEY"
.Range("W1").Value = "INCOTERM"
.Range("X1").Value = "STATUS"
.Range("Y1").Value = "INTERMODALVEHICLE"
.Range("Z1").Value = "ORDERGROUP"
.Range("AA1").Value = "HAWB"
.Range("AB1").Value = "REQSHIPDATE"
.Range("AC1").Value = "RELEASEDDATE"
.Range("AD1").Value = "C_COMPANY"
End With
If Me.Adodc1.Recordset.RecordCount <> 0 Then
Me.Adodc1.Recordset.MoveFirst
For i1 = 1 To Me.Adodc1.Recordset.RecordCount
For i2 = 1 To Me.Adodc1.Recordset.Fields.Count
If IsNull(Me.Adodc1.Recordset.Fields(i2 - 1)) Then
strValue = " "
Else
strValue = Me.Adodc1.Recordset.Fields(i2 - 1).Value ‘: Debug.Print strValue
End If
xlSheet.Cells(i1 + 1, i2) = strValue
Next i2
Me.Adodc1.Recordset.MoveNext
Next i1
Me.Adodc1.Recordset.MoveFirst
Else
MsgBox "请先查询数据", vbCritical, "错误"
End If

xlBook.Save

xlBook.Close
Set xlSheet = Nothing
Set xlBook = Nothing
‘ xlApp.Visible = True
xlApp.Quit
Set xlApp = Nothing
End Sub
Private Sub Command1_Click()
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlBook = xlApp.Workbooks.Add

Dim strDate As String, strName As String, strValue As String
strDate = CStr(Format(Date, "yyyy-mm-dd"))
Me.CommonDialog1.DefaultExt = "xls"
Me.CommonDialog1.FileName = "SEND3B2" + strDate + ".xls"
Me.CommonDialog1.Filter = "EXCEL FILE(*.xls)|*.xls"
Me.CommonDialog1.ShowSave

strName = Me.CommonDialog1.FileName
Debug.Print strName
xlBook.SaveAs strName
Set xlBook = xlApp.Workbooks.Open(strName)
Set xlSheet = xlBook.Worksheets(1)
‘ For i1 = 0 To Me.DataGrid1.Columns.Count - 1
‘ xlSheet.Cells(1, i1 + 1) = Me.DataGrid1.Columns.Item(j).Caption
‘ Next i1
With xlSheet
.Range("A1").Value = "ORDERKEY"
.Range("B1").Value = "EXTERNORDERKEY"
.Range("C1").Value = "MM"
.Range("D1").Value = "QTY"
.Range("E1").Value = "PRODUCTDESP"
.Range("F1").Value = "DIVISION"
.Range("G1").Value = "MOQ"
.Range("H1").Value = "OVERPACKQTY"
.Range("I1").Value = "OVERPACK ?"
.Range("J1").Value = "CTNQTY"
.Range("K1").Value = "OPCTNQTY"
.Range("L1").Value = "CTN_PALLET"
.Range("M1").Value = "PALLETNO"
.Range("N1").Value = "PALLETWEIGHT"
.Range("O1").Value = "PALLETVOLUME"
.Range("P1").Value = "PALLETLENGTH"
.Range("Q1").Value = "PALLETWIDTH"
.Range("R1").Value = "PALLETHIGH"
.Range("S1").Value = "DELIVERYDATE"
.Range("T1").Value = "CONSIGNEEKEY"
.Range("U1").Value = "C_COUNTRY"
.Range("V1").Value = "BILLTOKEY"
.Range("W1").Value = "INCOTERM"
.Range("X1").Value = "STATUS"
.Range("Y1").Value = "INTERMODALVEHICLE"
.Range("Z1").Value = "ORDERGROUP"
.Range("AA1").Value = "HAWB"
.Range("AB1").Value = "REQSHIPDATE"
.Range("AC1").Value = "RELEASEDDATE"
.Range("AD1").Value = "C_COMPANY"
End With
If Me.Adodc1.Recordset.RecordCount <> 0 Then
Me.Adodc1.Recordset.MoveFirst
For i1 = 1 To Me.Adodc1.Recordset.RecordCount
For i2 = 1 To Me.Adodc1.Recordset.Fields.Count
If IsNull(Me.Adodc1.Recordset.Fields(i2 - 1)) Then
strValue = " "
Else
strValue = Me.Adodc1.Recordset.Fields(i2 - 1).Value ‘: Debug.Print strValue
End If
xlSheet.Cells(i1 + 1, i2) = strValue
Next i2
Me.Adodc1.Recordset.MoveNext
Next i1
Me.Adodc1.Recordset.MoveFirst
Else
MsgBox "请先查询数据", vbCritical, "错误"
End If

xlBook.Save

xlBook.Close
Set xlSheet = Nothing
Set xlBook = Nothing
‘ xlApp.Visible = True
xlApp.Quit
Set xlApp = Nothing
End Sub

Sub test1()

Dim xlApp As New Excel.Application
Dim ExcelID As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlSheet As New Excel.Worksheet
Dim strName As String

Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlBook = xlApp.Workbooks.Add

Set ExcelID = New Excel.Application

strName = CurrentProject.Path + "\aaa.xls"
Debug.Print strName
xlBook.SaveAs strName

Set xlBook = xlApp.Workbooks.Open(strName)
Set xlSheet = xlBook.Worksheets(1)

xlSheet.Range("A1").Value = "abcdefg"
xlSheet.Range("A2").Value = "abcdefg2"
xlSheet.Cells(2, 2).Value = "bbbb"
‘ xlApp.Workbooks [1].Activate
xlApp.ActiveSheet.Rows(2).Insert
‘ ExcelID.Workbooks(1).Activate
‘ ExcelID.ActiveSheet.Rows(2).Insert
‘ xlSheet.Rows [2].Insert

xlApp.Visible = True
xlBook.Save
xlBook.Close

Set xlSheet = Nothing
Set xlBook = Nothing
xlApp.Quit
Set xlApp = Nothing
Debug.Print "ok"

End Sub

Dim excelfile As Excel.Application, excelwbook As Excel.Workbook, excelsheet As Excel.Worksheet
Dim lastCol As Long, lastRow As Long
Dim strFile As String

Private Sub importExcelDate()

On Error GoTo Err_importExcelDate
Dim result As Integer

With Me.Application.FileDialog(msoFileDialogFilePicker)
.Title = "请选择EXCEL文件"
.Filters.Add "EXCEL2000-2003", "*.xls"
.Filters.Add "EXCEL2007-2010", "*.xlsx"
.FilterIndex = 1
.AllowMultiSelect = False
result = .Show
If result <> 0 Then
strFile = Trim(.SelectedItems.Item(1))
Else
MsgBox "没有选择文件", vbCritical, "提示"
Exit Sub
End If
End With
Debug.Print strFile

Set excelfile = New Excel.Application
Set excelwbook = excelfile.Workbooks.Open(strFile)
Set excelsheet = excelwbook.Sheets(1)

lastCol = excelsheet.UsedRange.Columns.Count
lastRow = excelsheet.UsedRange.Rows.Count
Debug.Print lastCol: Debug.Print lastRow

Debug.Print excelsheet.Cells(1, 1)

Call importALLDate

excelwbook.Close
excelfile.Quit
Set excelfile = Nothing
Set excelwbook = Nothing
MsgBox "导入完成", vbOKOnly, "完成"
Exit Sub
Err_importExcelDate:
Debug.Print Err.Description
End Sub

Private Sub ImportExcelData()

On Error GoTo Err_ImportExcelData
‘ Dim strFile As String
Dim strB1() As String, intTmp1 As Integer

DoCmd.RunSQL "DELETE * FROM APTmp "
Me.CommonDialog8.CancelError = True

Me.CommonDialog8.ShowOpen
strFile = Me.CommonDialog8.Filename
If Me.CommonDialog8.Filename = "" Then
Exit Sub
End If

Debug.Print strFile
If strFile = "" Then
MsgBox "没有选择文件", vbCritical, "错误"
Exit Sub
End If

Set excelfile = New Excel.Application
Set excelwbook = excelfile.Workbooks.Open(strFile)
Set excelsheet = excelwbook.Sheets(1)

lastCol = excelsheet.UsedRange.Columns.Count
lastRow = excelsheet.UsedRange.Rows.Count
Debug.Print lastCol
Debug.Print lastRow

Debug.Print excelsheet.Cells(1, 1)

strB1 = Split(strFile, "\")
intTmp1 = UBound(strB1)
strFile = strB1(intTmp1)
Debug.Print strFile

‘ If checkFileName(strFile) = True Then
‘ MsgBox "此文件名已经导入过,不可再导入", vbCritical, "错误"
‘ Exit Sub
‘ End If

Call ImportAPData(strFile)
strFile = SetstrFile

excelwbook.Close
excelfile.Quit
Set excelfile = Nothing
Set excelwbook = Nothing

Exit_ImportExcelData:
Exit Sub
Err_ImportExcelData:
‘ MsgBox Err.Description
Resume Exit_ImportExcelData
End Sub

Private Sub ImportAPData(strTmp1 As String)

Dim i2 As Long

For i2 = 2 To lastRow
Debug.Print excelsheet.Cells(i2, 7)
If checkDN(Trim(CStr(excelsheet.Cells(i2, 7))), "APT") = True Then
‘ 1 2 3 4 5 6 7 8
strSQL = "INSERT INTO APTmp ( OrderType, CreateDate, GIdate, ShipTo, Route, OriginDoc, DeliveryNum, HAWB ) "
‘ strSQL = strSQL + "VALUES(‘" + Trim(CStr(excelsheet.Cells(i2, 1))) + "‘,"
strSQL = strSQL + "VALUES(‘" + Trim("CIP") + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 2))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 3))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 4))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 5))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 6))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 7))) + "‘, "
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 8))) + "‘) "
‘ strSQL = strSQL + "‘" + strTmp1 + "‘" + ") "
Debug.Print strSQL
DoCmd.RunSQL strSQL
End If
Next i2
Call ImportTAPData
End Sub

Private Sub Command10_Click() ‘导入分单
On Error GoTo Err_Command10_Click
Dim strFile As String

Me.CommonDialog8.ShowOpen
strFile = Me.CommonDialog8.Filename

Debug.Print strFile
If strFile = "" Then
MsgBox "没有选择文件", vbCritical, "错误"
Exit Sub
End If

Set excelfile = New Excel.Application
Set excelwbook = excelfile.Workbooks.Open(strFile)
Set excelsheet = excelwbook.Sheets(1)

lastCol = excelsheet.UsedRange.Columns.Count
lastRow = excelsheet.UsedRange.Rows.Count

Debug.Print lastCol
Debug.Print lastRow

Debug.Print excelsheet.Cells(1, 1)

If ImportHAWBData = False Then
MsgBox "导入未成功,请检查文件中有没有重复的DN", vbCritical, "提示"
‘ Exit Sub
End If

Call updateHAWB

excelwbook.Close
excelfile.Quit
Set excelfile = Nothing
Set excelwbook = Nothing

Exit_Command10_Click:
Exit Sub

Err_Command10_Click:
MsgBox Err.Description
Resume Exit_Command10_Click

End Sub

Public Function ImportHAWBData() As Boolean

On Error GoTo Err_ImportHAWBData
Dim i7 As Long
Dim rst1 As DAO.Recordset

strSQL = "SELECT HAWBTmp.DN, HAWBTmp.HAWB, HAWBTmp.ISIMPORT "
strSQL = strSQL + "FROM HAWBTmp; "
Debug.Print strSQL

Set rst1 = CurrentDb.OpenRecordset(strSQL)

For i7 = 2 To lastRow
Debug.Print excelsheet.Cells(i7, 1)
If excelsheet.Cells(i7, 1) <> "" And excelsheet.Cells(i7, 2) <> "" Then
If checkDN(Trim(CStr(excelsheet.Cells(i7, 1)))) = True Then
rst1.AddNew
rst1.Fields(0) = Trim(CStr(excelsheet.Cells(i7, 1)))
rst1.Fields(1) = Trim(CStr(excelsheet.Cells(i7, 2)))
rst1.Update
End If
End If
Next i7
ImportHAWBData = True
Exit Function
Err_ImportHAWBData:
MsgBox Err.Description
ImportHAWBData = False
End Function

Private Sub ImportExcelData()

On Error GoTo Err_ImportExcelData
Dim strFile As String
Dim strB1() As String, intTmp1 As Integer

DoCmd.RunSQL "DELETE * FROM APTmp "
Me.CommonDialog8.ShowOpen
strFile = Me.CommonDialog8.Filename

Debug.Print strFile
If strFile = "" Then
MsgBox "没有选择文件", vbCritical, "错误"
Exit Sub
End If

Set excelfile = New Excel.Application
Set excelwbook = excelfile.Workbooks.Open(strFile)
Set excelsheet = excelwbook.Sheets(1)

lastCol = excelsheet.UsedRange.Columns.Count
lastRow = excelsheet.UsedRange.Rows.Count
Debug.Print lastCol
Debug.Print lastRow

Debug.Print excelsheet.Cells(1, 1)

strB1 = Split(strFile, "\")
intTmp1 = UBound(strB1)
strFile = strB1(intTmp1)
Debug.Print strFile

‘ If checkFileName(strFile) = True Then
‘ MsgBox "此文件名已经导入过,不可再导入", vbCritical, "错误"
‘ Exit Sub
‘ End If

Call ImportAPData(strFile)

excelwbook.Close
excelfile.Quit
Set excelfile = Nothing
Set excelwbook = Nothing

Exit_ImportExcelData:
Exit Sub
Err_ImportExcelData:
MsgBox Err.Description
Resume Exit_ImportExcelData
End Sub

Private Sub ImportAPData(strTmp1 As String)

Dim i2 As Long

For i2 = 2 To lastRow
Debug.Print excelsheet.Cells(i2, 7)
If checkDN(Trim(CStr(excelsheet.Cells(i2, 7))), "APT") = True Then
‘----2012/7/25--更新添加R8TS的规则,其规则为当ROUTE字段为CMBLP1时自动添加时间戳为分单号
‘ 1 2 3 4 5 6 7 8
strSQL = "INSERT INTO APTmp ( OrderType, CreateDate, GIdate, ShipTo, Route, OriginDoc, DeliveryNum, HAWB ) "
strSQL = strSQL + "VALUES(‘" + Trim(CStr(excelsheet.Cells(i2, 1))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 2))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 3))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 4))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 5))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 6))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 7))) + "‘, "
If checkRoute(Trim(CStr(excelsheet.Cells(i2, 5)))) = False Then
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 8))) + "‘) "
Else
strSQL = strSQL + "‘" + addR8TSHAWB + "‘)"
End If
‘ strSQL = strSQL + "‘" + strTmp1 + "‘" + ") "
Debug.Print strSQL
DoCmd.RunSQL strSQL
End If
Next i2
Call ImportTAPData
End Sub

Private Sub ImportExcelFile()

Me.CommonDialog2.CancelError = True
Me.CommonDialog2.ShowOpen
strFile = Me.CommonDialog2.Filename
If Me.CommonDialog2.Filename = "" Then
Exit Sub
End If

Debug.Print strFile
If strFile = "" Then
MsgBox "没有选择文件", vbCritical, "错误"
End If

Set excelfile = New Excel.Application
Set excelwbook = excelfile.Workbooks.Open(strFile)
Set excelsheet = excelwbook.Sheets(1)

lastCol = excelsheet.UsedRange.Columns.Count
lastRow = excelsheet.UsedRange.Rows.Count
Debug.Print lastCol
Debug.Print lastRow

Call importHEADFile

excelwbook.Close
excelfile.Quit
Set excelfile = Nothing
Set excelwbook = Nothing

End Sub

Private Sub Command10_Click() ‘导入分单
On Error GoTo Err_Command10_Click
Dim strFile As String

Me.CommonDialog8.ShowOpen
strFile = Me.CommonDialog8.Filename

Debug.Print strFile
If strFile = "" Then
MsgBox "没有选择文件", vbCritical, "错误"
Exit Sub
End If

Set excelfile = New Excel.Application
Set excelwbook = excelfile.Workbooks.Open(strFile)
Set excelsheet = excelwbook.Sheets(1)

lastCol = excelsheet.UsedRange.Columns.Count
lastRow = excelsheet.UsedRange.Rows.Count

Debug.Print lastCol
Debug.Print lastRow

Debug.Print excelsheet.Cells(1, 1)

If ImportHAWBData = False Then
MsgBox "导入未成功,请检查文件中有没有重复的DN", vbCritical, "提示"
‘ Exit Sub
End If

Call updateHAWB

excelwbook.Close
excelfile.Quit
Set excelfile = Nothing
Set excelwbook = Nothing

Exit_Command10_Click:
Exit Sub

Err_Command10_Click:
MsgBox Err.Description
Resume Exit_Command10_Click

End Sub

Public Function ImportHAWBData() As Boolean

On Error GoTo Err_ImportHAWBData
Dim i7 As Long
Dim rst1 As DAO.Recordset

strSQL = "SELECT HAWBTmp.DN, HAWBTmp.HAWB, HAWBTmp.ISIMPORT "
strSQL = strSQL + "FROM HAWBTmp; "
Debug.Print strSQL

Set rst1 = CurrentDb.OpenRecordset(strSQL)

For i7 = 2 To lastRow
Debug.Print excelsheet.Cells(i7, 1)
If excelsheet.Cells(i7, 1) <> "" And excelsheet.Cells(i7, 2) <> "" Then
If checkDN(Trim(CStr(excelsheet.Cells(i7, 1)))) = True Then
rst1.AddNew
rst1.Fields(0) = Trim(CStr(excelsheet.Cells(i7, 1)))
rst1.Fields(1) = Trim(CStr(excelsheet.Cells(i7, 2)))
rst1.Update
End If
End If
Next i7
ImportHAWBData = True
Exit Function
Err_ImportHAWBData:
MsgBox Err.Description
ImportHAWBData = False
End Function

Private Sub ImportExcelData()

Dim strFile As String
Dim strB1() As String
Dim intTmp1 As Integer

‘ DoCmd.RunSQL "DELETE * FROM APTmp "
Me.CommonDialog5.ShowOpen
strFile = Me.CommonDialog5.Filename

Debug.Print strFile
If strFile = "" Then
MsgBox "没有选择文件", vbCritical, "错误"
Exit Sub
End If

Set excelfile = New Excel.Application
Set excelwbook = excelfile.Workbooks.Open(strFile)
Set excelsheet = excelwbook.Sheets(1)

lastCol = excelsheet.UsedRange.Columns.Count
lastRow = excelsheet.UsedRange.Rows.Count
Debug.Print lastCol
Debug.Print lastRow

Debug.Print excelsheet.Cells(1, 1)

strB1 = Split(strFile, "\")
intTmp1 = UBound(strB1)
strFile = strB1(intTmp1)
Debug.Print strFile

Call ImportItemData(strFile)

Call updateDN

excelwbook.Close
excelfile.Quit
Set excelfile = Nothing
Set excelwbook = Nothing
Me.Child2.Requery
End Sub
‘ strB1 = Split(strFile, "\")
‘ intTmp1 = UBound(strB1)
‘ strFile = strB1(intTmp1)
‘ Debug.Print strFile
Private Sub ImportItemData(strTmp1 As String)

Dim i2 As Long
For i2 = 2 To lastRow
Debug.Print excelsheet.Cells(i2, 1)
strSQL = "INSERT INTO ITEM ( DNNo, Item, Material, Route, Refdoc, DlvQty, SU, AcGIDate, QTY, IFN ) "
strSQL = strSQL + "VALUES(‘" + Trim(CStr(excelsheet.Cells(i2, 1))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 2))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 6))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 8))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 9))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 13))) + "‘,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 14))) + "‘,"
strSQL = strSQL + "#" + Trim(CStr(excelsheet.Cells(i2, 15))) + "#,"
strSQL = strSQL + "‘" + Trim(CStr(excelsheet.Cells(i2, 17))) + "‘,"
strSQL = strSQL + "‘" + strTmp1 + "‘ "
strSQL = strSQL + "); "
Debug.Print strSQL
DoCmd.RunSQL strSQL
Next i2
End Sub

VB操作EXCEL文件大全

时间: 2024-10-14 00:59:09

VB操作EXCEL文件大全的相关文章

VB操作EXCEL文件

用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel.Application 1)显示当前窗口:ExcelID.Visible:=True2)更改Excel标题栏:ExcelID.Caption:='应用程序调用MicrosoftExcel'3)添加新工作簿:ExcelID.WorkBooks.Add4)打开已存在的工作簿:ExcelID.WorkBo

java使用POI操作excel文件,实现批量导出,和导入

一.POI的定义 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作Excel 95及以后的版本,即可操作后缀为 .xls 和 .xlsx两种格式的excel. POI全称 Poor Obfuscation Implementation,直译为"可怜的模糊实现",利用POI接口可以通过JAVA操作Microsoft office 套件工具的读写功能.官网:htt

(5) 如何用Apache POI操作Excel文件-----发现Apache的POI的Bug后,如何给Apache的POI报Bug?

在我上篇文章中,(4) 如何用Apache POI操作Excel文件-----发现了POI-3.12一个回归,通过测试POI-3.12的版本,我发现了一个bug,那么发现bug后,该如何处理.我们有2种处理方式,首先我们到Apache POI的bug库里面搜索,看别人有没有创建类似的bug,如果有创建的,这个是最好的结果,我们只需要关注这个bug什么时候被修复.如果没有搜索不到,这个时候我们就需要给Apache POI报bug了.那么,如何给Apache报Bug? 第一步: 打开https://

Java生成和操作Excel文件

JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表.因为它是使用Java编写的,所以我们在Web应用中可以通过JSP.Servlet来调用API实现对Excel数据表的访问. 下载: 官方网站 http://www.andykhan.com/jexcelapi/ 下载最新版本(本人下的是jexcelapi_2_6

java 操作excel 文件

JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表.因为它是使用Java编写的,所以我们在Web应用中可以通过JSP.Servlet来调用API实现对Excel数据表的访问. 下载: 官方网站 http://www.andykhan.com/jexcelapi/ 下载最新版本(本人下的是jexcelapi_2_6

(转载)Java生成和操作Excel文件

JAVA EXCEL API:是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件.使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表.因为它是使用Java编写的,所以我们在Web应用中可以通过JSP.Servlet来调用API实现对Excel数据表的访问. 下载: 官方网站 http://www.andykhan.com/jexcelapi/ 下载最新版本(本人下的是jexcelapi_2_6

Java生成和操作Excel文件 - 残星 - 博客园 (2)

body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;

Java生成和操作Excel文件 - 残星 - 博客园

body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;

C#操作Excel文件(转)

摘要:本文介绍了Excel对象.C#中的受管代码和非受管代码,并介绍了COM组件在.net环境中的使用. 关键词:受管代码:非受管代码:Excel对象:动态连接库 引言 Excel是微软公司办公自动化套件中的一个软件,他主要是用来处理电子表格. Excel以其功能强大,界面友好等受到了许多用户的欢迎.在设计应用系统时,对于不同的用户,他们对于打印的需求是不一样的,如果要使得程序中的打印功 能适用于每一个用户,可以想象程序设计是十分复杂的.由于Excel表格的功能强大,又由于几乎每一台机器都安装了