1 private void 导出ToolStripMenuItem_Click(object sender, EventArgs e) {
 2             string path = "";
 3             SaveFileDialog save = new SaveFileDialog();
 4             save.DefaultExt = "xlsx";
 5             save.Filter = "Excel File(*.xlsx)|*.xlsx";
 6             if (save.ShowDialog() == DialogResult.OK) {
 7                 path = save.FileName;
 8                 if(DataTableToExcel(path,dt,true)) {
 9                     MessageBox.Show("导出成功");
10                 }
11             }
12             else {
13                 return;
14             }
15         }
16         public  bool DataTableToExcel(string filePath, System.Data.DataTable dataTable, bool isShowExcle) {
17             //System.Data.DataTable dataTable = dataSet.Tables[0];
18             int rowNumber = dataTable.Rows.Count;
19             int columnNumber = dataTable.Columns.Count;
20             int colIndex = 0;
21             if (rowNumber == 0) {
22                 return false;
23             }
24             Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
25             Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
26             Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
27             excel.Visible = isShowExcle;
28             Microsoft.Office.Interop.Excel.Range range;
29             foreach (DataColumn col in dataTable.Columns) {
30                 colIndex++;
31                 excel.Cells[1, colIndex] = col.ColumnName;
32             }
33             object[,] objData = new object[rowNumber, columnNumber];
34             for (int r = 0; r < rowNumber; r++) {
35                 for (int c = 0; c < columnNumber; c++) {
36                     objData[r, c] = dataTable.Rows[r][c];
37                 }
38             }
39             range= worksheet.Range[worksheet.Cells[2,1], worksheet.Cells[rowNumber + 1, columnNumber]]; //4.0版本以上
40             // range = worksheet.get_Range(excel.Cells[2, 1], excel.Cells[rowNumber + 1, columnNumber]); //如果出现没有找到get_Range定义是因为版本不同,使用上面的就可以啦
41             range.Value = objData;
42             worksheet.SaveAs(filePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing);
43             //excel.Quit();
44             return true;
45         }

View Code

转载于:https://www.cnblogs.com/zgrh/p/11130781.html

C# winfrom 导出 Excel相关推荐

  1. java struts2 excel上传_Java Struts2 实现数据库数据导出Excel文件

    HTML: 导出 Struts.xml true application/vnd.ms-excel;charset=GBK excelStream attachment;filename=${file ...

  2. Java springMVC POI 导出 EXCEL

    2019独角兽企业重金招聘Python工程师标准>>> 思路 : 将需要导出的数据存放在一个List中 创建一个EXCEL表 注意 XSSFWorkbook 只能操作2007以上的版 ...

  3. 如何优雅的导出 Excel

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:juejin.im/post/5c6b6b126fb9a04 ...

  4. Java报表工具FineReport导出EXCEL的四种API

    在实际的应用中会经常需要将数据导出成excel,导出的方式除原样导出还有分页导出.分页分sheet导出和大数据量导出.对于excel 2003版,由于限制了每个sheet的最大行数和列数,大数据量导出 ...

  5. html导出excel时换行符,ASP.NET 导出到Excel时保留换行的代码

    完整代码: protected void Button1_Click(object sender, EventArgs e) { System.Web.HttpContext curContext = ...

  6. java 导出excel 注解_Java基于注解和反射导入导出Excel

    list = ei.getDataList(User.class); for (User user : list){ try{ //to do: 保存/处理数据 //userService.save( ...

  7. 导出excel 数字前少0_【产品介绍】数字压力校验仪

    数字压力校验仪 24V供电 + (4-20)Ma测量 调节7位设置数字显示 | 可拆卸充电锂电池 现场.实验室压力校准系统CWY300数字压力校验仪,是我公司推出的新一代高精度.高稳定.兼具工业4.0 ...

  8. NPOI导入导出EXCEL通用类,可直接使用在WinForm项目中

    由于XSSFWorkbook类型的Write方法限制,Write完成后就自动关闭流数据,所以无法很好的支持的Web模式,网上目前也未找到好的解决方案. 注意:若直接使用在WinForm项目中,必需先下 ...

  9. (转).NET导出Excel的四种方法及评测

    .NET导出Excel的四种方法及评测 导出Excel是.NET的常见需求,开源社区.市场上,都提供了不少各式各样的Excel操作相关包.本文,我将使用NPOI.EPPlus.OpenXML.Aspo ...

最新文章

  1. [Flutter] Android沉侵式标题栏顶部叠加层去除
  2. linux hiredis升级,Redis平滑升级
  3. 将Win10包含中文的用户名改为英文的,解决Anaconda navigator无法运行jupyter的问题
  4. 面试问题:SpringMVC的执行流程
  5. Python入门2_之列表元组
  6. sqoop 使用心得(sqoop增量倒入)
  7. java servletlis_Java学习(六)servlet 的引入
  8. 高并发服务器开源项目,高并发服务器框架详解 - osc_qgfjs4a5的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. 异步处理函数async_Spring @Async异步处理注释
  10. .hpp文件_16、OpenCV读写XML和YML文件
  11. 代码制作数字流星雨_JS+CSS实现流星雨的动画效果(代码)
  12. 粤语 之 粤语学习的一些学习网站和工具整理
  13. 天才黑客,阿里安全科学家吴翰清:做对事只能赢一场,跟对人可以赢一生
  14. On-Ramp算法参考资料
  15. 树莓派cm4安装ax200驱动-wifi6
  16. 正则表达式实现提取IP地址字符串
  17. 腾讯阿里的螺丝钉,一样会生锈!
  18. 有哪些好用的python在线编程环境?
  19. 微信小程序动态添加view
  20. 纪念周恩来诞辰124周年

热门文章

  1. 写自己的CSS框架 Part2:跨越浏览器的reset
  2. 硬盘最多能分几个区?
  3. 不是计算机专业学python能找到工作吗-python学习难不难?非计算机专业也能学吗?...
  4. python入门到精通需要学多久-廖雪峰python教程要学多久-零基础学Python需要多久...
  5. 简单的python抢红包脚本-这个Python脚本牛逼了,秒抢红包就算了,还能无视撤回消息...
  6. python与人工智能编程-python学习(一)——python与人工智能
  7. python不读第一行和第一列-python 第一个
  8. python基础常用语句-python爬虫之python一条语句分析几个常用函数和概念
  9. python语言编程环境-python3编程环境搭建
  10. python推荐入门书籍-这些都是Python官方推荐的最好的书籍(推荐)