Showing posts with label excel. Show all posts
Showing posts with label excel. Show all posts

Saturday, February 18, 2012

Export Data Set/Data Table To Excel C# asp.net.

最近工作需要,写了一个可以把Data set的 structure 和 data export 到 excel format file的class。 这不是正统的export 方法,其实它是用HTML的structure 来构造需要的excel。 虽然如此,这 excel的功能还是能一样的。而且还蛮整齐的。
我把 code 放在 http://cjjack88.blogspot.com/p/fastexportexcelhelper.html。 大家可以一起研究研究。

这是export 出来的excel format。

其实这个class 还不不完美。 还有很多需要改进的地方。尤其是performance 方面。 

以下是一些示范如何使用这个class的code。

           DataTable demoDataTable = BuildDemoTable();
            using (FastExportExcelHelper myExcelHelper = new FastExportExcelHelper())
            {
                myExcelHelper.SetDataTable(demoDataTable);
                string[] isDecimal = new string[] { "Decimal" };
                string[] isDate = new string[] { "Date" };
                string[] isBoolean = new string[] { "Boolean" };
                myExcelHelper.IsBoolColumns(isBoolean);
                myExcelHelper.IsDateColumns(isDate);
                myExcelHelper.IsDecimalColumns(isDecimal);
                myExcelHelper.RenameHeaderName("NeedToRename", "After Rename");
                myExcelHelper.CreateFastExcel("Demo Excel", this.Response);
            }
        }
        private DataTable BuildDemoTable()
        {
            DataTable result = new DataTable();
            result.Columns.Add(new DataColumn("INT", typeof(int)));
            result.Columns.Add(new DataColumn("Character", typeof(char)));
            result.Columns.Add(new DataColumn("Decimal", typeof(decimal)));
            result.Columns.Add(new DataColumn("Date", typeof(DateTime)));
            result.Columns.Add(new DataColumn("Text", typeof(string)));
            result.Columns.Add(new DataColumn("NeedToRename", typeof(string)));
            result.Columns.Add(new DataColumn("Boolean", typeof(bool)));
            char isChar = 'C';
            decimal isDecimal = 100;
            DateTime isDateTime = DateTime.Now;
            string isString = "I am String .";
            string isRename = "RenameBa";
            bool iaBoolean = false;
            for (int i = 0; i < 1000; i++)
            {
                result.Rows.Add(i, isChar, isDecimal, isDateTime, isString, isRename, iaBoolean);
            }
            return result;
        }

我把demo 的files 放到media fire http://www.mediafire.com/?hq31ank883l2fzz。 有兴趣可以下载来看看。最后欢迎有建设性的意见。 
_________________________________________________________________
_________________________________________________________________

LinkWithin

Related Posts with Thumbnails