Helen 发表于 2015-3-17 11:31:00

通过已有Excel模板添加数据库中的数据

问题描述:FpSpread如何实现基于windows操作系统上的平板电脑报表数据的填报,并能灵活实现填报模板的设计工作。
问题解答:通过Spread WPF可以无缝导入Excel实现好的模板,并通过代码添加数据库的数据。
关键代码:
加载已经设计好的Excel模板。
// 加载Excel模板
gcSpreadSheet1.OpenExcel("出库单导出模板.xls");
通过数据库导入数据到Spread。
// 获取动态行区域
            CalcExternalRangeExpression dataarea = (this.gcSpreadSheet1.GetCustomName("数据区域").Expression as CalcExternalRangeExpression);

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

                // 循环添加数据行
                for (int i = 0; i < dt2.Rows.Count; i++)
                {
                  // 设置单元格的值
                  foreach (DataColumn col in dt2.Columns)
                  {
                        NameInfo info = this.gcSpreadSheet1.GetCustomName(col.ColumnName);
                        if (info != null)
                        {
                            CalcExternalCellExpression cce = (info.Expression as CalcExternalCellExpression);
                            gcSpreadSheet1.ActiveSheet.SetValue(dataarea.StartRow + i, cce.Column, dt2.Rows);
                        }
                  }

                  // 如果还有数据,就插入新行
                  if (i<dt2.Rows.Count-1)
                  {
                        gcSpreadSheet1.Sheets.AddRows(dataarea.StartRow + i + 1, 1);
                        gcSpreadSheet1.Sheets.CopyTo(dataarea.StartRow, -1, dataarea.StartRow + i + 1, -1, 1, -1, CopyToOption.Style | CopyToOption.Span | CopyToOption.Formula);
                  }                  
                }
            }
效果截图:

示例下载:
页: [1]
查看完整版本: 通过已有Excel模板添加数据库中的数据