Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 1257|回复: 13
打印 上一主题 下一主题

麻烦楼主删帖

[复制链接]

10

主题

0

好友

223

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

跳转到指定楼层
1#
发表于 2014-11-3 01:02 PM |只看该作者 |倒序浏览
本帖最后由 Monki0115 于 2014-11-21 02:36 PM 编辑

我用着visual studio 2013 ultimate.
我想update datagridview 里的data去已经存在的excel file.
因为会持续性的update,所以不可以固定rows 和 columns.


  1. If My.Computer.FileSystem.FileExists("d:\test1.xlsx") Then

  2.             Try

  3.                 Dim xls As New Excel.Application
  4.                 Dim Wbook As Excel.Workbook
  5.                 Dim Wsheet As Excel.Worksheet

  6.                 xls.Workbooks.Open("d:\test1.xlsx")
  7.                 Wbook = xls.ActiveWorkbook
  8.                 Wsheet = Wbook.ActiveSheet


  9.                 Dim i As Integer = 0

  10.                 If lastrow >= 10 Then
  11.                     Dim curRow As Integer = lastrow + 1
  12.                     For rowlength As Integer = 0 To DataGridView1.Rows.Count - 1
  13.                         For columnlength As Integer = 0 To DataGridView1.Columns.Count - 1
  14.                             Wsheet.Cells(curRow, columnlength + 1).Value =
  15.                                 DataGridView1.Rows(rowlength).Cells(columnlength).Value

  16.                         Next
  17.                     Next
  18.                 End If

  19.                 Wbook.Save()
  20.                 xls.closed()

  21.             Catch ex As Exception
  22.                 MsgBox(ex.ToString)
  23.             End Try
复制代码




收藏收藏0

10

主题

0

好友

223

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

2#
发表于 2014-11-3 01:05 PM |只看该作者
问题是它会要求overwrite而不是update 原来的文件。
摆脱帮帮我


回复

使用道具 举报

13

主题

0

好友

6850

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

3#
发表于 2014-11-3 02:08 PM |只看该作者
Wbook.DisplayAlerts = False

在save前加这句,试试看。


回复

使用道具 举报

10

主题

0

好友

223

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

4#
发表于 2014-11-3 02:22 PM |只看该作者
'DisplayAlerts ' on type 'Workbook' not found.
出现这个error ~ 不过还是谢谢你


回复

使用道具 举报

13

主题

0

好友

6850

积分

百变名嘴

Rank: 13Rank: 13Rank: 13Rank: 13

5#
发表于 2014-11-3 04:26 PM |只看该作者
xls.DisplayAlerts = False

这个呢?


回复

使用道具 举报

10

主题

0

好友

223

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

6#
发表于 2014-11-3 05:58 PM |只看该作者
一样 no found 哦 ~


回复

使用道具 举报

19

主题

3

好友

962

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

7#
发表于 2014-11-3 07:09 PM |只看该作者
试试看把lastrow 改成 objExcel.ActiveCell.Row + 1 看看

你需要的是不是只要有新data进来,就自动加新data不影响旧data???

我的理解能力比较不好

http://technet.microsoft.com/en-us/library/ee692869.aspx


回复

使用道具 举报

10

主题

0

好友

223

积分

支柱会员

Rank: 4Rank: 4Rank: 4Rank: 4

8#
发表于 2014-11-3 09:52 PM |只看该作者
你的意思是这样么?
我是把 lastrow dim as object 哦·
差不多意思,总之要把旧data保留,然后把新data加进去.
  1. If My.Computer.FileSystem.FileExists("d:\test1.xlsx") Then

  2.             Try

  3.                 Dim xls As New Excel.Application
  4.                 Dim Wbook As Excel.Workbook
  5.                 Dim Wsheet As Excel.Worksheet

  6.                 xls.Workbooks.Open("d:\test1.xlsx")
  7.                 Wbook = xls.ActiveWorkbook
  8.                 Wsheet = Wbook.ActiveSheet


  9.                 Dim i As Integer = 0

  10.                 If lastrow >= 10 Then
  11.                     Dim curRow As Integer = lastrow.ActiveCell.Row + 1
  12.                     For rowlength As Integer = 0 To DataGridView1.Rows.Count - 1
  13.                         For columnlength As Integer = 0 To DataGridView1.Columns.Count - 1
  14.                             Wsheet.Cells(curRow, columnlength + 1).Value =
  15.                                 DataGridView1.Rows(rowlength).Cells(columnlength).Value

  16.                         Next
  17.                     Next
  18.                 End If

  19.               
复制代码
可是还是有error

xx.PNG (17.43 KB, 下载次数: 0)

xx.PNG



回复

使用道具 举报

57

主题

18

好友

1万

积分

无敌名嘴

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

9#
发表于 2014-11-3 11:38 PM |只看该作者
记录最后一笔资料是第几个row在第一个row或者一个特定地方,下次update的时候就读取最后一笔资料到哪个row了,然后再从那个row过后继续update咯~


回复

使用道具 举报

5

主题

1

好友

585

积分

青铜长老

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

10#
发表于 2014-11-4 12:16 AM |只看该作者
你是用MICROSOFT的LIBRARY还是THIRD PARTY的?建议你用EPPLUS。。。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2024-10-28 11:22 PM , Processed in 0.127714 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部