Esempio n. 1
0
 protected void OnColumnProgress(ExportColumnsEventArgs arg)
 {
     if (_ColumnProgress != null)
     {
         _ColumnProgress(this, arg);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// 提交数据导出的操作。
        /// </summary>
        public virtual void Commit()
        {
            DataView dv = MB.WinEIDrive.DataHelpers.ToDataView(base.DataSource);

            if (dv == null)
            {
                return;
            }
            ExcelFile      excelFile = new ExcelFile();
            ExcelWorksheet ws        = excelFile.Worksheets.Add(SHEET_NAME);

            for (int i = 0; i < dv.Table.Columns.Count; i++)
            {
                ExportColumnsEventArgs arg = new ExportColumnsEventArgs(dv.Table.Columns[i].Caption, dv.Table.Columns[i].ColumnName, DEFAULT_WIDTH);
                OnColumnProgress(arg);
                ws.Columns[i].Hidden = arg.IsHide;
                ws.Columns[i].Width  = arg.ColumnWidth;
                ws.Cells[0, i].Value = arg.Caption;
            }
            int colCount = dv.Table.Columns.Count;

            for (int j = 0; j < dv.Count; j++)
            {
                for (int k = 0; k < colCount; k++)
                {
                    object val = dv[j][k];

                    OnProviderProgress(dv.Table.Columns[k].ColumnName, j, ref val);

                    if (val != null && val != System.DBNull.Value)
                    {
                        ws.Cells[j + 1, k].Value = val;
                    }
                }
            }
            excelFile.SaveXls(_FileName);
            if (_OpenExportFile)
            {
                MB.WinEIDrive.FileLib.TryToOpenFile(_FileName);
            }
        }