![C#中导出EXcel的几种方法_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-4/16/77b0fa85-72f0-454b-8429-85d0098fd5e2/77b0fa85-72f0-454b-8429-85d0098fd5e21.gif)
![C#中导出EXcel的几种方法_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-4/16/77b0fa85-72f0-454b-8429-85d0098fd5e2/77b0fa85-72f0-454b-8429-85d0098fd5e22.gif)
![C#中导出EXcel的几种方法_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-4/16/77b0fa85-72f0-454b-8429-85d0098fd5e2/77b0fa85-72f0-454b-8429-85d0098fd5e23.gif)
![C#中导出EXcel的几种方法_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-4/16/77b0fa85-72f0-454b-8429-85d0098fd5e2/77b0fa85-72f0-454b-8429-85d0098fd5e24.gif)
![C#中导出EXcel的几种方法_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-4/16/77b0fa85-72f0-454b-8429-85d0098fd5e2/77b0fa85-72f0-454b-8429-85d0098fd5e25.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#代码1 #region 导出当前页到Excel中 2 3 /按下导出按钮 4 private void button7_Click(object sender, EventArgs e) 5 6 print(dataGridView1); 7 8 public void print(DataGridView dataGridView1) 9 10 /导出到execl 11 try 12 13 /没有数据的话就不往下执行 14 if (dataGridView1.Rows.Count = 0) 15 return; 16 /实例化一个Excel.Application对象 17 Micros
2、oft.Office.Interop.Excel.Application excel =new Microsoft.Office.Interop.Excel.Application(); 18 19 /让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写 20 excel.Visible =false; 21 22 /新增加一个工作簿,Workbook是直接保存,不会弹出保存对话框,加上Application会弹出保存对话框,值为false会报错 23 excel.Application.Workbooks.Add(true); 24 /生成Excel中列头名称 2
3、5 for (int i = 0; i < dataGridView1.Columns.Count; i+) 26 27 excel.Cells1, i + 1 = dataGridView1.Columnsi.HeaderText; 28 29 /把DataGridView当前页的数据保存在Excel中 30 for (int i = 0; i < dataGridView1.Rows.Count - 1; i+) 31 32 for (int j = 0; j < dataGridView1.Columns.Count; j+) 33 34 if (dataGridVie
4、w1j, i.ValueType =typeof(string) 35 36 excel.Cellsi + 2, j + 1 ="'" + dataGridView1j, i.Value.ToString(); 37 38 else 39 40 excel.Cellsi + 2, j + 1 = dataGridView1j, i.Value.ToString(); 41 42 43 44 45 /设置禁止弹出保存和覆盖的询问提示框 46 excel.DisplayAlerts =false; 47 excel.AlertBeforeOverwriting =fal
5、se; 48 49 /保存工作簿 50 excel.Application.Workbooks.Add(true).Save(); 51 /保存excel文件 52 excel.Save("D:" +"KKHMD.xls"); 53 54 /确保Excel进程关闭 55 excel.Quit(); 56 excel =null; 57 58 59 catch (Exception ex) 60 61 MessageBox.Show(ex.Message,"错误提示"); 62 63 64 #endregion 导出从数据库中查询到的所
6、有的数据到Excel中 C#代码65 #region 导出全部数据到Excel中,可弹出保存对话框,但没用SaveFileDialog 66 67 public void printAll(System.Data.DataTable dt) 68 69 /导出到execl 70 try 71 72 /没有数据的话就不往下执行 73 if (dt.Rows.Count = 0) 74 return; 75 /实例化一个Excel.Application对象 76 Microsoft.Office.Interop.Excel.Application excel =new Microsoft.Off
7、ice.Interop.Excel.Application(); 77 78 /新增加一个工作簿,Workbook是直接保存,不会弹出保存对话框,加上Application会弹出保存对话框,值为false会报错 79 excel.Application.Workbooks.Add(true); 80 81 /让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写 82 excel.Visible =false; 83 /生成Excel中列头名称 84 for (int i = 0; i < dt.Columns.Count; i+) 85 86 excel.Ce
8、lls1, i + 1 = dataGridView1.Columnsi.HeaderText;/输出DataGridView列头名 87 88 89 /把DataGridView当前页的数据保存在Excel中 90 if (dt.Rows.Count > 0) 91 92 for (int i = 0; i < dt.Rows.Count; i+)/控制Excel中行,上下的距离,就是可以到Excel最下的行数,比数据长了报错,比数据短了会显示不完 93 94 for (int j = 0; j < dt.Columns.Count; j+)/控制Excel中列,左右的距离
9、,就是可以到Excel最右的列数,比数据长了报错,比数据短了会显示不完 95 96 string str = dt.Rowsij.ToString(); 97 excel.Cellsi + 2, j + 1 ="'" + str;/i控制行,从Excel中第2行开始输出第一行数据,j控制列,从Excel中第1列输出第1列数据,"'" +是以string形式保存,所以遇到数字不会转成16进制 98 99 100 101 /设置禁止弹出保存和覆盖的询问提示框 102 excel.DisplayAlerts =false; 103 excel.
10、AlertBeforeOverwriting =false; 104 105 /保存工作簿,值为false会报错 106 excel.Application.Workbooks.Add(true).Save(); 107 /保存excel文件 108 excel.Save("D:" +"KKHMD.xls"); 109 110 /确保Excel进程关闭 111 excel.Quit(); 112 excel =null; 113 114 115 catch (Exception ex) 116 117 MessageBox.Show(ex.Message
11、,"错误提示"); 118 119 120 private void button1_Click(object sender, EventArgs e) 121 122 printAll(dt); 123 124 #endregion 125 private void menuItem16_Click(object sender, System.EventArgs e) ds.Tables"CurrentTable".AcceptChanges(); this.Cursor=Cursors.WaitCursor; Excel.Application my
12、Excel=new Excel.Application(); myExcel.Application.Workbooks.Add(true); myExcel.Visible=true; myExcel.Cells1,1=this.dataGrid1.CaptionText; /Object Dateds.Tables"CurrentTable".Rows.Countds.Tables"CurrentTable".Columns.Count; /生成标题 for(int i=0;i<ds.Tables"CurrentTable"
13、.Columns.Count;i+) myExcel.Cells2,i+1=ds.Tables"CurrentTable".Columnsi.Caption; /填充数据 for(int i=0;i<ds.Tables"CurrentTable".Rows.Count;i+) for(int j=0;j<ds.Tables"CurrentTable".Columns.Count;j+) if(ds.Tables"CurrentTable".Rowsij.GetType()=typeof(System.S
14、tring)126 127 myExcel.Cellsi+3,j+1="'"+ds.Tables"CurrentTable".Rowsij.ToString(); else myExcel.Cellsi+3,j+1=ds.Tables"CurrentTable".Rowsij.ToString(); 128 this.Cursor=Cursors.Default; MessageBox.Show("导出成功! ","恭喜",MessageBoxButtons.OK,MessageBoxI
15、con.Asterisk); 129 130 private void button5_Click_1(object sender, EventArgs e) /建立Excel对象 Excel.Application excel = new Excel.Application(); excel.Application.Workbooks.Add(true); /生成字段名称 for (int i = 0; i < dataGridView2.ColumnCount; i+) excel.Cells1,i + 1 = dataGridView2.Columnsi.HeaderText; i
16、f (y = 0) y = 1; toolStripStatusLabel6.Text = "数据导入中,请等待!" /填充数据 for (int i = 0; i < dataGridView2.RowCount - 1; i+) for (int j = 0; j < dataGridView2.ColumnCount; j+) if (dataGridView2j, i.Value = typeof(string) excel.Cellsi + 2, j + 1 = "" + dataGridView2i, j.Value.ToStri
17、ng(); else excel.Cellsi + 2, j + 1 = dataGridView2j, i.Value.ToString(); excel.Visible = true; / <summary>131 / </summary> / <param name="mydgv">控件 DataGridView </param> / <param name="dic">中英文对照的标题 </param> public static void ExportTasks(DataG
18、ridView mydgv, Dictionary <string, string> dic) / 定义要使用的Excel 组件接口 / 定义Application 对象,此对象表示整个Excel 程序 Microsoft.Office.Interop.Excel.Application excelApp = null; / 定义Workbook对象,此对象代表工作薄 Microsoft.Office.Interop.Excel.Workbook workBook; / 定义Worksheet 对象,此对象表示Execel 中的一张工作表 Microsoft.Office.Inte
19、rop.Excel.Worksheet ws = null; /定义Range对象,此对象代表单元格区域 Microsoft.Office.Interop.Excel.Range range;132 int dcell = 1; int rowindex = 0; int colindex = 0;133 int rowcount = mydgv.Rows.Count; int colcount = mydgv.Columns.Count; int dispcolcount = dic.Count; try /初始化 Application 对象 excelApp excelApp = new
20、 Microsoft.Office.Interop.Excel.Application(); /在工作薄的第一个工作表上创建任务列表 workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); ws = (Worksheet)workBook.Worksheets1;134 / 命名工作表的名称为 ws.Name = "Sheet1" /创建缓存 Object, objdata = new objectrowcount + 1, colcount; /创建标题 foreach (string s in
21、dic.Keys) objdatarowindex, colindex+ = dics.ToString(); /获取数据 for (int i = 0; i < rowcount; i+) dcell = 0; foreach (string ss in dic.Keys) for (int j = 0; j < colcount; j+) if (mydgv.Columnsj.Name = ss) objdatai + 1, dcell+ = mydgv.Rowsi.Cellsj.FormattedValue.ToString(); /得到样式之后的值 /写入Excel ran
22、ge = ws.get_Range(excelApp.Cells1, 1, excelApp.Cellsrowcount, dispcolcount); range.Value2 = objdata; System.Windows.Forms.Application.DoEvents(); /设置格式 excelApp.Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.Constants.xlLeft; /全局左对齐 excelApp.Cells.EntireColumn.AutoFit(); range = ws.get_R
23、ange(excelApp.Cells1, 1, excelApp.Cells1, colcount); range.Font.Bold = true; /标题粗体 /显示 Excel excelApp.Visible = true;135 catch (Exception ex) throw ex; 136 # 137 using System;using System.Collections.Generic;using System.Text;using System.Web.UI.WebControls;using System.Data;using System.Web.UI.Html
24、Controls; namespace Common public class ExcelHelper / Excel导出 public static void Export(GridView dgExport, DataTable dtData) System.Web.HttpContext curContext = System.Web.HttpContext.Current; / IO用于导出并返回excel文件 System.IO.StringWriter strWriter = null; System.Web.UI.HtmlTextWriter htmlWriter = null;138 if (dtData != null) / 设置编码和附件格式 curContext.Response.Clear(); curContext.Response.ClearContent(); curContext.Response.Buffer = true; curContext.R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代农业装备在种植业中的技术优势
- 现代医疗技术中的人才培养与团队建设
- 校园文化与企业文化的对接与互鉴
- 14《母鸡》说课稿-2023-2024学年统编版四年级语文下册
- 24 《古人谈读书》说课稿-2024-2025学年语文五年级上册统编版
- 6 传统游戏我会玩2023-2024学年二年级下册道德与法治同步说课稿(统编版)
- 14 圆明园的毁灭 说课稿-2024-2025学年语文五年级上册统编版
- 5 树和喜鹊(说课稿)-2023-2024学年统编版语文一年级下册
- 17《爬天都峰》说课稿-2024-2025学年统编版语文四年级上册
- 2023三年级英语下册 Unit 4 Food and Restaurants Lesson 21 In the Restaurant说课稿 冀教版(三起)
- 2024年广东省公务员录用考试《行测》真题及答案解析
- 小学数学六年级解方程练习300题及答案
- 光伏十林业可行性报告
- 公路工程安全风险辨识与防控手册
- 骨科手术纠纷案例分析课件
- 2022年广西高考英语真题及答案(全国甲卷)
- 安全生产责任清单(加油站)
- 动物检疫技术-动物检疫的程序(动物防疫与检疫技术)
- 煤矿复工复产专项安全风险辨识
- DB42T 1049-2015房产测绘技术规程
- 《民航服务沟通技巧》教案第8课重要旅客服务沟通
评论
0/150
提交评论