如何将多个C1TrueDbGrids控件中的数据导出到同一张excel表格中
经常出现一些情况使我们需要将数据导出到Excel表格中。数据源可能来自多个ComponentOne TrueDbGrid for WinForms控件以及其他数据绑定控件。然而使用C1TrueDbGrid控件的ExportToExcel方法我们无法将多个C1TrueDbGrid导出成单个Excel文件。
在我过去发表的一篇博客中我解释过:如何将多个C1TrueDbGrids导出到单个PDF中。
本文,我将解释如何把多个C1TrueDbGrid控件导出到一个Excel文件。
C1TrueDbGrids导出到Excel文件:
在绑定了多个C1TrueDbGrid控件后我们要使用ExcelExportToExcel方法把数据存到多个独立的Excel文件中。代码如下:
C1TrueDBGrid1.ExportToExcel("..\\..\\Excel1.xls",true); C1TrueDBGrid2.ExportToExcel("..\\..\\Excel2.xls",true);
使用ComponentOne Excel控件:
然后使用ComponentOne Excel for WinForms控件导入在一个Excel工作簿中的不同工作表里的多个Excel文件,并保存到Excel工作簿中。
代码如下:
stringpath = Application.StartupPath; intpos = path.IndexOf("\\bin"); path = path.Substring(0, pos); stringtempdir = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf("\\") + 1); stringxlsFileName = tempdir +"CombineSheets.xls"; if(System.IO.File.Exists(xlsFileName)) { System.IO.File.Delete(xlsFileName); } // clear the book C1XLBook1.Clear(); C1XLBook1.Sheets.Clear(); stringfileName =null; foreach(stringfileName_loopVariableinSystem.IO.Directory.GetFiles(path,"*.xls")) { fileName = fileName_loopVariable; // load Excel file C1.C1Excel.C1XLBook book =newC1.C1Excel.C1XLBook(); book.Load(fileName); // clone and rename first sheet (sheet names must be unique) C1.C1Excel.XLSheet clone = book.Sheets[0].Clone(); clone.Name ="Sheet"+ i; i = i + 1; // add cloned sheet to main book C1XLBook1.Sheets.Add(clone); } C1XLBook1.Save(xlsFileName); System.Diagnostics.Process.Start(xlsFileName);
至此结束,请下载样例工程了解详情: