Foxtable(狐表)用户栏目专家坐堂 → VBA二维数组写入Excel单元格实例


  共有23822人关注过本帖树形打印复制链接

主题:VBA二维数组写入Excel单元格实例

帅哥哟,离线,有人找我吗?
don
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
VBA二维数组写入Excel单元格实例  发帖心情 Post By:2013/1/18 12:31:00 [只看该作者]

很多时候,我们把表格数据写入指定的Excel文件中,一般思维是:一行一列地赋值给Excel单元格,小数据量没问题,数据量大的话则效率就低了。
先把表格数据存入二维数组,再填入对应的单元格区域,则高效许多!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:sms.rar


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/1/18 12:36:00 [只看该作者]

谢谢分享!

 回到顶部
帅哥哟,离线,有人找我吗?
hanxuntx
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2013/1/18 14:51:00 [只看该作者]

收藏谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/18 14:57:00 [只看该作者]

 没时间细看,先mark一下。用到再看。

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/1/18 16:05:00 [只看该作者]

这个是VBA编写最基本的方法,效率提升10-1000倍。

foxtable中datatable比任何数组都好用,可惜目前foxtable中还没运用到


 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/18 16:43:00 [只看该作者]

 看了代码,确实是一个很好的方法。

 还有一种方法是,直接把excel作为数据源,直接操作excel,这个是最方便的,但是现在狐表没有集成。

 代码类似于:

string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\Test.xls;Extended Properties=Excel 8.0;";
string sql = "Select * from [sheet1$]";
System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection( connectionString );
System.Data.OleDb.OleDbDataAdapter dataAdapter = new System.Data.OleDb.OleDbDataAdapter( sql, connection );
System.Data.DataSet dataSet = new DataSet();
connection.Open();
dataAdapter.Fill( dataSet, "test" );
connection.Close();
return dataSet;

 回到顶部
帅哥哟,离线,有人找我吗?
don
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/1/18 17:41:00 [只看该作者]

不想直接操作Excel,Excel文件是给他人看的(如不是非要如此,Excel中大不必再存放数据)。
且表中所有数据也是自动生成,还可进行其它查询统计用途.

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/18 18:06:00 [只看该作者]

 其实用excel作为数据源存放和操作数据也是挺方便的。现在才知道,之前有狐友提过了。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:用excel作为数据源.zip



 回到顶部
帅哥哟,离线,有人找我吗?
loongtai
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
  发帖心情 Post By:2013/9/9 10:45:00 [只看该作者]

以下是引用jspta在2013-1-18 16:05:00的发言:

这个是VBA编写最基本的方法,效率提升10-1000倍。

foxtable中datatable比任何数组都好用,可惜目前foxtable中还没运用到

用datatable的方法比数组效率高吗?

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/9/9 11:28:00 [只看该作者]

以下是引用loongtai在2013-9-9 10:45:00的发言:

用datatable的方法比数组效率高吗?

你可以把DataTable运用成一个2维数组,但是无法直接导出到excel。导出的话还是要用数组

Datatable的作用 = 数组(保存)+字典(查询KEY)

不用太迷恋数组,数组的主要作用是存储数据到内存加快运算和循环计算,对于其他的应该,使用其他方法解决,比如list和dictionary

 


 回到顶部
总数 12 1 2 下一页