protected void OnColumnProgress(ExportColumnsEventArgs arg) { if (_ColumnProgress != null) { _ColumnProgress(this, arg); } }
/// <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); } }