如题,
如下是如何创建一个excel对象的代码,支持一次写入数据,问题是这样,我需要向对已创建的这个excel对象进行多次写入,可是现在不支持这种功能,我试想将这多次操作产生的数据存进一系列的数组中,然后在一次性保存到excel表中。不知哪位高手,给解决一下这个问题。
奖励分不是问题哦~~
Dim xlApp As Excel.Application
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Set xlApp = New Excel.Application
Set xlApp = CreateObject("Excel.Application")
Set xlbook = xlApp.Workbooks.Open(excelFile) Set xlsheet = xlbook.Worksheets(1)
excelFile = App.Path & "\Print.xls"
如下是如何创建一个excel对象的代码,支持一次写入数据,问题是这样,我需要向对已创建的这个excel对象进行多次写入,可是现在不支持这种功能,我试想将这多次操作产生的数据存进一系列的数组中,然后在一次性保存到excel表中。不知哪位高手,给解决一下这个问题。
奖励分不是问题哦~~
Dim xlApp As Excel.Application
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Set xlApp = New Excel.Application
Set xlApp = CreateObject("Excel.Application")
Set xlbook = xlApp.Workbooks.Open(excelFile) Set xlsheet = xlbook.Worksheets(1)
excelFile = App.Path & "\Print.xls"
解决方案 »
- vb 修改完代码保存时出错 "路径/文件访问错误:'E:\workspace\frmMethod.log'"
- 【双喜临门】:娶到漂亮媳妇,PR值又升到了4!散分!散分!~
- 控件SSTab的類TabDlg.SSTab不是一個已加載的控件類﹖﹖﹖
- 我用connection对象连接数据库,寻找在刚使用软件前往指定文件写(数据库名、服务器、用户名、密码),再登陆直接从此文件中取出,如何实
- vb中怎么调用GetPrivateProfileString?
- ACTIVEX DLL中的非模式窗体在IE中不能显示,急!!!
- 大侠 我连ActiveX DLL都不会啊 救我呀!
- 求图书管理系统,急!
- C$ = Chr$(&H1B)付值 C$的值是多少?
- 各位看看我的SQL查询语句吧?我真有不知拿出错了!
- ASP如何与VB的winsock程序通讯?
- 我加了6个Timer 是不是多了点?
xlsheet.Cells.Clear
我需要多次写入的数据,这些数据同时存在的。
不需要clear
最后一行的行数 xlsheet.usedrange.rows.count
这是我的模板excel表格,我需要把多次数据分别写到那些表格中去。请问有什么好法吗???
其实也好说,就是把这10组数据攒齐了,一起写入Excel表格。有没有好方法呢?sysdzw 实验室的砖瓦 多谢回帖。
Set xlApp = CreateObject("Excel.Application")
set wk = xlApp.Workbooks.add("你的模板文件名")
Set st = wk.Worksheets(1)
......'你的数据保存代码
wk.SaveAs "你的文件保存的位置及名称"
如果是这样,你可以先记录你关闭时候的行和列,比如第一次关闭时刚好把第一个表格写完,那就记录下行:13行 列:8 表格个数: 1 那第二次打开程序的时候 就在记录的这些数据基础上加一个数啊 比如行:13+0 列 8+3 表格个数:1+1 这就是第二个表格了啊 (表格个数用于记录什么时候行数该加一个数字,比如:在第一排的表格填写完毕后,该转到第二排的表格,那就得用表格个数来判断。)
Dim xlApp As New Excel.Application
Dim xlBook As New Excel.Workbook
Dim xlsheet As New Excel.Worksheet
Set XlApp= CreateObject("Excel.Application")
'Set xlBook = XlApp.Workbooks.Open(App.Path & "\Print.xls) '没密码
Set xlBook = XlApp.Workbooks.Open(App.Path & "\Print.xls", , , ,123456)'密码为123456
Set xlsheet = xlBook.Worksheets(1)
XlApp.Visible = True
Try xlsApp = CreateObject("Excel.Application")
xlsBook = xlsApp.Workbooks.Add
xlsBook.Worksheets.Add()
xlsSheet = xlsBook.Worksheets(1) xlsApp.Application.Visible = True Clipboard.Clear()
Clipboard.SetDataObject(str.ToString) With xlsSheet .Activate()
.Columns("B").numberformatlocal = "@"
xlsSheet.Range("B:B").HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft
.Range("A1").Select() '这里就是你要写的位置
.Paste()
.Cells.Select()
.Cells.EntireColumn.AutoFit()
.Range("A1").Select()
End With
Catch ex As Exception
MsgBox(ex.ToString, MsgBoxStyle.Exclamation, Me.Text)
CNCOST.Close()
Me.Enabled = True
Exit Sub
End Try
Public ex As Excel.Application
Public wb As Excel.Workbook
Public sh As Excel.WorksheetPrivate Sub Command3_Click()
Dim i As Long
Dim arr() As String, strFile As String
Set ex = CreateObject("Excel.Application")
' Set wb = ex.Workbooks.Add '新建excel
Set wb = ex.Workbooks.Open("c:\A.xls")
Set sh = wb.Sheets(1)
strFile = "10,20,30,50,100" '第一组数据
arr = Split(strFile, ",")
For i = 0 To UBound(arr)
sh.Cells(1, i + 1) = arr(i) '第一行第一列
Next i
strFile = "A,B,C,D,E" '第二组数据
arr = Split(strFile, ",")
For i = 0 To UBound(arr)
sh.Cells(2, i + 1) = arr(i)
Next i
sh.Range("G12") = "会了吧"
' Count = ex.ActiveSheet.UsedRange.Rows.Count
' Count = ex.Application.WorksheetFunction.CountA(Columns("C:C"))
' wb.Close SaveChanges:=True '直接关闭
' ex.Quit
ex.Visible = True
Set ex = Nothing
Set wb = Nothing
Set sh = Nothing
End Sub
假如横行6个小表
row=(原来写入次数 mod 6) * 9 +1
col=(原来写入次数 \ 6) * 14 +1