找回密码
 立即注册

QQ登录

只需一步,快速开始

liuyinlong

初级会员

24

主题

59

帖子

448

积分

初级会员

积分
448

活字格认证

liuyinlong
初级会员   /  发表于:2013-2-26 14:00  /   查看:7830  /  回复:9
Spread 导入Excel后,我通过(DataTable)this.fpSpread1.ActiveSheet.DataSource 无法获取?如果方法不对 请问怎么样获取界面的Datatable

9 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-26 17:20:00
沙发
使用OpenExcel之后,此时Spread的还没有设置DataSource属性,所以,还无法取到DataSource属性,只有在设置DataSource之后才能转换为DataTable或者DataSet的对象。
回复 使用道具 举报
liuyinlong
初级会员   /  发表于:2013-2-26 17:33:00
板凳
回复 2楼dof的帖子

我想讲导入进来的数据保存到数据库,请问您有什么好办法?
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-26 19:49:00
地板
导入的数据只能先读取Spread单元格的值,然后通过SQL保存到数据库。
回复 使用道具 举报
liuyinlong
初级会员   /  发表于:2013-2-27 08:52:00
5#
回复 4楼dof的帖子

我想判断客户导入Excel后 对那些行做了修改 怎么获取? 谢谢!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-27 11:49:00
6#
Spread在没有设置DataSource之前,只能在Spread的EditModeOn事件中记录哪些行被修改:
  1.     List<int> list = new List<int>();
  2.     void fpSpread1_EditModeOn(object sender, EventArgs e)
  3.     {
  4.         if (!list.Contains(fpSpread1.ActiveSheet.ActiveRowIndex))
  5.         {
  6.             list.Add(fpSpread1.ActiveSheet.ActiveRowIndex);
  7.         }            
  8.     }
复制代码
回复 使用道具 举报
liuyinlong
初级会员   /  发表于:2013-2-27 13:38:00
7#
回复 6楼dof的帖子

麻烦了,谢谢您!
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-2-27 18:03:00
8#
不客气,这是我们应该做的。
回复 使用道具 举报
快乐小子1987
注册会员   /  发表于:2013-9-10 16:02:00
9#
回复 8楼dof的帖子

如何将导入的表绑定到表上,只是绑定相关的列,无关的列不绑定!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-9-10 16:59:00
10#
回复 9楼快乐小子1987的帖子

这个需要指定特定列对应的数据字段,请参考以下代码进行设置:

  1.    DataTable dt = new DataTable();
  2.             dt.Columns.Add(&quot;测试&quot;);
  3.             dt.Columns.Add(&quot;测试1&quot;);
  4.             dt.Columns.Add(&quot;测试2&quot;);
  5.             dt.Columns.Add(&quot;测试3&quot;);
  6.             dt.Columns.Add(&quot;测试4&quot;);
  7.             dt.Columns.Add(&quot;测试5&quot;);
  8.             dt.Columns.Add(&quot;测试6&quot;);
  9.             dt.Columns.Add(&quot;测试7&quot;);
  10.             dt.Columns.Add(&quot;测试8&quot;);
  11.             dt.Columns.Add(&quot;测试9&quot;); ;
  12.             dt.Columns.Add(&quot;测试10&quot;); ;
  13.             dt.Columns.Add(&quot;测试11&quot;); ;
  14.             dt.Columns.Add(&quot;测试12&quot;); ;
  15.             dt.Columns.Add(&quot;测试13&quot;); ;

  16.             dt.Rows.Add(&quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;);
  17.             dt.Rows.Add(&quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;);
  18.             dt.Rows.Add(&quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;);
  19.             dt.Rows.Add(&quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;);
  20.             dt.Rows.Add(&quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;, &quot;1&quot;);

  21.             this.fpSpread1.Sheets[0].AutoGenerateColumns = false;
  22.             this.fpSpread1.Sheets[0].DataSource = dt;
  23.             this.fpSpread1.Sheets[0].Columns[1].DataField = &quot;测试&quot;;
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部