您的位置:程序门 -> .net技术 -> c#



c# 2005 winform 把dataset 數據島出 excel??


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


c# 2005 winform 把dataset 數據島出 excel??
发表于:2007-04-03 14:52:34 楼主
如題!
謝謝   !
发表于:2007-04-03 15:20:281楼 得分:0
把datagridview数据导出到excel.

public   static   void   exportdatagridviewtoexcel(datagridview   datagridview1)
                {
                        savefiledialog   savefiledialog   =   new   savefiledialog();
                        savefiledialog.filter   =   "EXECl   files   (*.xls) ¦*.xls ";
                        savefiledialog.filterindex   =   0;
                        savefiledialog.restoredirectory   =   true;
                        savefiledialog.createprompt   =   true;
                        savefiledialog.title   =   "导出excel文件到 ";

                        savefiledialog.showdialog();

                        stream   mystream;
                        mystream   =   savefiledialog.openfile();
                        streamwriter   sw   =   new   streamwriter(mystream,   system.text.encoding.getencoding( "gb2312 "));
                        string   str   =   " ";
                        try
                        {
                                //写标题  
                                for   (int   i   =   0;   i   <   datagridview1.columncount;   i++)
                                {
                                        if   (i   >   0)
                                        {
                                                str   +=   "\t ";
                                        }
                                        str   +=   datagridview1.columns[i].headertext;
                                }

                                sw.writeline(str);
                                //写内容
                                for   (int   j   =   0;   j   <   datagridview1.rows.count;   j++)
                                {
                                        string   tempstr   =   " ";
                                        for   (int   k   =   0;   k   <   datagridview1.columns.count;   k++)
                                        {
                                                if   (k   >   0)
                                                {
                                                        tempstr   +=   "\t ";
                                                }
                                                tempstr   +=   datagridview1.rows[j].cells[k].value.tostring();
                                        }
                                        sw.writeline(tempstr);
                                }
                                sw.close();
                                mystream.close();
                        }
                        catch   (exception   e)
                        {
                                messagebox.show(e.tostring());
                        }
                        finally
                        {
                                sw.close();
                                mystream.close();
                        }
                }

//引用
exportdatagridviewtoexcel(this.datagridview1);
发表于:2007-04-03 15:20:392楼 得分:0
///   <summary>
                ///   以操作excel控件的方式将datatable数据导出到excel
                ///   </summary>
                ///   <param   name= "dt "> datatable对象 </param>
                ///   <param   name= "strexcelfile "> excel文件名 </param>
                ///   <param   name= "strerror "> out参数,返回出错信息 </param>
                ///   <returns>
                ///         -1   出错
                ///         0   成功
                ///   </returns>
                public   static   int   datatable2excel(system.data.datatable   dt,
                        string   strexcelfilename,
                        out   string   strerror)
                {
                        strerror   =   " ";
                        int   nret   =   0;

                        excel.application   xlapp   =   new   excel.application();
                        excel.workbooks   workbooks   =   xlapp.workbooks;
                        excel.workbook   workbook   =   workbooks.add(excel.xlwbatemplate.xlwbatworksheet);
                        excel.worksheet   worksheet   =   (excel.worksheet)workbook.worksheets[1];//取得sheet1


                        //~~
                        //   写字段名
                        for   (int   i   =   0;   i   <   dt.columns.count;   i++)
                        {
                                datacolumn   col   =   dt.columns[i];
                                worksheet.cells[1,   i+1]   =   col.columnname;
                        }

                        //   写记录
                        for   (int   i   =   0;   i   <   dt.rows.count;   i++)
                        {
                                datarow   row   =   dt.rows[i];
                                for   (int   j   =   0;   j   <   dt.columns.count;   j++)
                                {
                                        worksheet.cells[i+2,   j+1]   =   row[j].tostring().trim();
                                }
                        }

                        worksheet.columns.entirecolumn.autofit();//自动适应每列的宽度  
                        workbook.saved   =   true;
                        workbook.savecopyas(strexcelfilename);

                        //   关掉内存中的进程
                        xlapp.quit();
                        return   0;
}



快速检索

最新资讯
热门点击