请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Helen

高级会员

57

主题

351

帖子

1446

积分

高级会员

积分
1446

活字格认证微信认证勋章元老葡萄

Helen
高级会员   /  发表于:2015-3-17 11:31  /   查看:4815  /  回复:0
问题描述:FpSpread如何实现基于windows操作系统上的平板电脑报表数据的填报,并能灵活实现填报模板的设计工作。
问题解答:通过Spread WPF可以无缝导入Excel实现好的模板,并通过代码添加数据库的数据。
关键代码:
加载已经设计好的Excel模板。
  1. // 加载Excel模板
  2. gcSpreadSheet1.OpenExcel("出库单导出模板.xls");
复制代码

通过数据库导入数据到Spread。
  1. // 获取动态行区域
  2.             CalcExternalRangeExpression dataarea = (this.gcSpreadSheet1.GetCustomName("数据区域").Expression as CalcExternalRangeExpression);

  3.             if (dataarea != null)
  4.             {
  5.                 DataTable dt2 = ds.Tables["详细信息"];

  6.                 // 循环添加数据行
  7.                 for (int i = 0; i < dt2.Rows.Count; i++)
  8.                 {
  9.                     // 设置单元格的值
  10.                     foreach (DataColumn col in dt2.Columns)
  11.                     {
  12.                         NameInfo info = this.gcSpreadSheet1.GetCustomName(col.ColumnName);
  13.                         if (info != null)
  14.                         {
  15.                             CalcExternalCellExpression cce = (info.Expression as CalcExternalCellExpression);
  16.                             gcSpreadSheet1.ActiveSheet.SetValue(dataarea.StartRow + i, cce.Column, dt2.Rows[i][col.ColumnName]);
  17.                         }
  18.                     }

  19.                     // 如果还有数据,就插入新行
  20.                     if (i<dt2.Rows.Count-1)
  21.                     {
  22.                         gcSpreadSheet1.Sheets[0].AddRows(dataarea.StartRow + i + 1, 1);
  23.                         gcSpreadSheet1.Sheets[0].CopyTo(dataarea.StartRow, -1, dataarea.StartRow + i + 1, -1, 1, -1, CopyToOption.Style | CopyToOption.Span | CopyToOption.Formula);
  24.                     }                    
  25.                 }
  26.             }
复制代码

效果截图:

示例下载:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部