在.NET中excel导出方法汇总(收集)

ASP.NET导出Excel技巧
http://search.youkuaiyun.com/Expert/topic/2346/2346423.xml?temp=.3901941
http://search.youkuaiyun.com/Expert/topic/2387/2387301.xml?temp=3.222293E-02
http://search.youkuaiyun.com/Expert/topic/2581/2581246.xml?temp=.9223444
http://search.youkuaiyun.com/Expert/topic/2414/2414749.xml?temp=5.735415E-02
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q302096
1。
None.gif protected   void  toExcel_Click( object  sender,EventArgs e) 
ExpandedBlockStart.gifContractedBlock.gif      
dot.gif
InBlock.gif         ToExcel(parentList); 
ExpandedBlockEnd.gif      }
 
None.gif
None.gif      
private   void  ToExcel(System.Web.UI.Control ctl) 
ExpandedBlockStart.gifContractedBlock.gif      
dot.gif
InBlock.gif         Response.Charset
="GB2312"
InBlock.gif         Response.AppendHeader(
"Content-Disposition","attachment;filename=Excel.xls");  
InBlock.gif         Response.ContentEncoding 
= System.Text.Encoding.UTF8; 
InBlock.gif         Response.ContentType 
= "application/ms-excel"
InBlock.gif
InBlock.gif         ctl.Page.EnableViewState 
= false
InBlock.gif         System.IO.StringWriter tw 
= new System.IO.StringWriter(); 
InBlock.gif         System.Web.UI.HtmlTextWriter hw 
= new HtmlTextWriter(tw); 
InBlock.gif
InBlock.gif         ctl.RenderControl(hw); 
InBlock.gif
InBlock.gif         Response.Write(tw.ToString()); 
InBlock.gif         Response.End(); 
ExpandedBlockEnd.gif      }
2。导入excel写的太麻烦了,弹出窗口可以!用这个导入
ExpandedBlockStart.gif ContractedBlock.gif    Protected   Sub toExcel_Click() Sub toExcel_Click(ByVal sender As ObjectByVal e As ImageClickEventArgs)
InBlock.gif            ToExcel1(tblResults)
ExpandedBlockEnd.gif        
End Sub

None.gif
ExpandedBlockStart.gifContractedBlock.gif        
Sub ToExcel1() Sub ToExcel1(ByVal ctl As System.Web.UI.Control)
InBlock.gif            Response.Charset 
= "GB2312"
InBlock.gif            Response.AppendHeader(
"Content-Disposition""attachment;filename=totalreport.xls")
InBlock.gif            Response.ContentEncoding 
= System.Text.Encoding.UTF8
InBlock.gif            Response.ContentType 
= "application/ms-excel"
InBlock.gif
InBlock.gif            ctl.Page.EnableViewState 
= False
InBlock.gif            
Dim tw As System.IO.StringWriter = New System.IO.StringWriter()
InBlock.gif            
Dim hw As System.Web.UI.HtmlTextWriter = New HtmlTextWriter(tw)
InBlock.gif
InBlock.gif            ctl.RenderControl(hw)
InBlock.gif
InBlock.gif            Response.Write(tw.ToString())
InBlock.gif            Response.End()
ExpandedBlockEnd.gif        
End Sub
3.//将数据集导到excel 以 XLS 格式里
None.gif private   void  DataSetToExcelXls(DataSet ds) 
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif {    
ContractedSubBlock.gifExpandedSubBlockStart.gif            
用例说明#region 用例说明
ExpandedSubBlockStart.gifContractedSubBlock.gif            
/**//* 
InBlock.gif            【输入】 
InBlock.gif             sender:       
InBlock.gif             e:             
InBlock.gif            【输出】
InBlock.gif             无
InBlock.gif            【流程定义】
InBlock.gif             1、将生成的DataSet的数据导到指定的Execl文件里,并显示出来
InBlock.gif            【可选流程】
InBlock.gif                            
InBlock.gif            【问题】
InBlock.gif            
ExpandedSubBlockEnd.gif            
*/

ExpandedSubBlockEnd.gif            
#endregion

InBlock.gif            
InBlock.gif            Random rd
=new Random(int.Parse(DateTime.Now.ToString("MMddhhmmss")));
InBlock.gif            
string strFileName =DateTime.Now.ToString("yyyyMMdd")+DateTime.Now.Hour+DateTime.Now.Minute+DateTime.Now.Second+txtBeginTime.Text.Trim()+txtFinishTime.Text.Trim()+rd.Next(999999).ToString()+ ".XLS";
InBlock.gif            
InBlock.gif            
//Excel.Application excel= new Excel.ApplicationClass();//Excel.Application();
InBlock.gif
            Excel.Application excel ;
InBlock.gif            
//excel = new Excel.Application();
InBlock.gif
            excel = new Excel.ApplicationClass();
InBlock.gif            Excel.WorkbookClass oWB;
InBlock.gif            Excel.Worksheet oSheet;
InBlock.gif            oWB 
= (Excel.WorkbookClass)(excel.Workbooks.Add(true));
InBlock.gif            oSheet 
= (Excel.Worksheet)oWB.ActiveSheet;
InBlock.gif            
InBlock.gif            oSheet.Cells[
11=lblReportTime.Text;    //合并项
InBlock.gif
            oSheet.Cells[21= lblReportCount.Text;//合并项
InBlock.gif
            oSheet.Cells[41= "话机号码" ;//合并项
InBlock.gif
            oSheet.Cells[42= "月份" ;//合并项
InBlock.gif
            oSheet.Cells[33= "通话总次数(次)";
InBlock.gif            oSheet.Cells[
37= "通话总时长(分)";
InBlock.gif            oSheet.Cells[
3,11= "通话总金额(元)";
InBlock.gif            oSheet.Cells[
43= "国际";
InBlock.gif            oSheet.Cells[
44= "国内";
InBlock.gif            oSheet.Cells[
45= "港澳台";
InBlock.gif            oSheet.Cells[
46= "合计";
InBlock.gif            oSheet.Cells[
47= "国际";
InBlock.gif            oSheet.Cells[
48= "国内";
InBlock.gif            oSheet.Cells[
49= "港澳台";
InBlock.gif            oSheet.Cells[
4,10= "合计";
InBlock.gif            oSheet.Cells[
4,11= "国际";
InBlock.gif            oSheet.Cells[
4,12= "国内";
InBlock.gif            oSheet.Cells[
4,13= "港澳台";
InBlock.gif            oSheet.Cells[
4,14= "合计";
InBlock.gif
InBlock.gif            oSheet.get_Range(
"A1","N4").Font.Size= 9 ;
InBlock.gif            oSheet.get_Range(
"A1","N4").Font.Bold = true;
InBlock.gif            oSheet.get_Range(
"A1","N4").VerticalAlignment =  Excel.XlVAlign.xlVAlignCenter;
InBlock.gif            oSheet.get_Range(
"A1","N4").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
InBlock.gif            
InBlock.gif            
//该范围内设置外面一层边框
InBlock.gif
            oSheet.get_Range("A1","N4").BorderAround(Excel.XlLineStyle.xlContinuous,Excel.XlBorderWeight.xlThin ,Excel.XlColorIndex.xlColorIndexAutomatic,Color.Black.ToArgb()) ;
InBlock.gif
InBlock.gif            
//该范围内设置里面所有单元格的边框
InBlock.gif
            oSheet.get_Range("A1","N4").Borders.Weight = Excel.XlBorderWeight.xlThin ;
InBlock.gif            oSheet.get_Range(
"A1","N4").Borders.Color = Color.Black.ToArgb() ;
InBlock.gif            
//范围内单元格添加背景颜色
InBlock.gif
            oSheet.get_Range("A1","N2").Cells.Interior.Color =Color.FromArgb(153,255,204).ToArgb();
InBlock.gif            oSheet.get_Range(
"A1","N2").Cells.Interior.Pattern = Excel.XlBackground.xlBackgroundAutomatic ;
InBlock.gif        
InBlock.gif            oSheet.get_Range(
"A3","N4").Cells.Interior.Color = Color.LemonChiffon.ToArgb();
InBlock.gif            oSheet.get_Range(
"A3","N4").Cells.Interior.Pattern = Excel.XlBackground.xlBackgroundAutomatic ;
InBlock.gif            
InBlock.gif            DataTable dt 
=ds.Tables[0];
InBlock.gif            DataRow dr;
InBlock.gif            
int count=dt.Rows.Count+5;
InBlock.gif            
string strExcelLength = "N"+count.ToString().Trim();
InBlock.gif
InBlock.gif            
int I,J;
InBlock.gif            
for(I = 5;I< count;I++)
ExpandedSubBlockStart.gifContractedSubBlock.gif            
dot.gif{                
InBlock.gif                dr
=dt.Rows[I-5];
InBlock.gif                
InBlock.gif                
for(J = 1;J<(dt.Columns.Count +1) ;J++)
ExpandedSubBlockStart.gifContractedSubBlock.gif                
dot.gif{
InBlock.gif                    oSheet.Cells[I,J] 
= dr[J-1].ToString().Trim() ;
InBlock.gif                
ExpandedSubBlockEnd.gif                }

InBlock.gif                
ExpandedSubBlockEnd.gif            }

InBlock.gif
InBlock.gif            oSheet.get_Range(
"A5",strExcelLength).Font.Size= 9 ;
InBlock.gif            oSheet.get_Range(
"A5",strExcelLength).Font.Bold = false;
InBlock.gif            oSheet.get_Range(
"A5",strExcelLength).VerticalAlignment =  Excel.XlVAlign.xlVAlignCenter;
InBlock.gif            oSheet.get_Range(
"A5",strExcelLength).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
InBlock.gif            
//该范围内设置外面一层边框
InBlock.gif
            oSheet.get_Range("A5",strExcelLength).BorderAround(Excel.XlLineStyle.xlContinuous,Excel.XlBorderWeight.xlThin ,Excel.XlColorIndex.xlColorIndexAutomatic,Color.Black.ToArgb()) ;
InBlock.gif
InBlock.gif            
//该范围内设置里面所有单元格的边框
InBlock.gif
            oSheet.get_Range("A5",strExcelLength).Borders.Weight = Excel.XlBorderWeight.xlThin ;
InBlock.gif            oSheet.get_Range(
"A5",strExcelLength).Borders.Color = Color.Black.ToArgb() ;
InBlock.gif            
//范围内单元格添加背景颜色
InBlock.gif
            oSheet.get_Range("A5",strExcelLength).Cells.Interior.Color = Color.PaleTurquoise.ToArgb();
InBlock.gif            oSheet.get_Range(
"A5",strExcelLength).Cells.Interior.Pattern = Excel.XlBackground.xlBackgroundAutomatic ;
InBlock.gif
InBlock.gif            
InBlock.gif            oSheet.get_Range(
"A1","N1").Merge(true);
InBlock.gif            oSheet.get_Range(
"A2","N2").Merge(true);            
InBlock.gif
InBlock.gif            oSheet.get_Range(
"A3","A4").Merge(true);
InBlock.gif            oSheet.get_Range(
"B3","B4").Merge(true);
InBlock.gif            oSheet.get_Range(
"C3","F3").Merge(true);
InBlock.gif            oSheet.get_Range(
"G3","J3").Merge(true);
InBlock.gif            oSheet.get_Range(
"K3","N3").Merge(true);
InBlock.gif
InBlock.gif
InBlock.gif            
string path=Server.MapPath("."+ "\\..\\..\\excel-file\\" + strFileName;            
InBlock.gif            
InBlock.gif            oWB.SaveAs(path,Missing.Value,
"","",true,false,Excel.XlSaveAsAccessMode.xlNoChange,1,false,Missing.Value,Missing.Value);
InBlock.gif            
InBlock.gif            
//oWB.SaveCopyAs(path);                
InBlock.gif
            
InBlock.gif            oWB.Close(
false,null,null);
InBlock.gif            excel.Workbooks.Close();            
InBlock.gif            excel.Quit();
InBlock.gif
InBlock.gif            System.Runtime.InteropServices.Marshal.ReleaseComObject (excel);
InBlock.gif            System.Runtime.InteropServices.Marshal.ReleaseComObject (oWB);
InBlock.gif            System.Runtime.InteropServices.Marshal.ReleaseComObject (oSheet);
InBlock.gif
InBlock.gif            oSheet 
= null;
InBlock.gif            oWB
= null;
InBlock.gif            excel 
= null;
InBlock.gif
InBlock.gif            GC.Collect();        
InBlock.gif                    
InBlock.gif            
string test="../../excel-file/" + strFileName;
InBlock.gif            Response.Redirect(test);        
ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/RedStarLiu/archive/2006/03/06/343692.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值