以下代码中最关键的代码是

                    Worksheet mSheet = (Microsoft.Office.Interop.Excel.Worksheet)mBook.Worksheets.Add(miss, miss, 1, Microsoft.Office.Interop.Excel.XlSheetType.xlWorksheet);

网上很资料中都没有提到,我也是试了很久才搞出来的,上面这一行是新建了2个Sheet,想建多个就修改Add的第3个参数,数量为参数值+1

xlapp.Visible = false; //是否显示导出过程 ,建议关闭,否则在导出过程中鼠标点击Excel文件时会出错。

  

引用:COM --》 Microsoft Office xx.x Object Library   再引用 Microsoft.Office.Interop.Excel (可以到网上搜索或以下地址下载:http://files.cnblogs.com/fan0136/Microsoft.Office.Interop.Excel.rar)

完整的代码台下,实际使用中数据表参数可以修改成List<object>:

 public class ToExcel{/// <summary>/// 可以自定义导出Excel的格式,传的参数为GridView/// </summary>/// <param name="gridView"></param>/// <param name="filename"></param>public static void ExportGridViewToExcel(DevExpress.XtraGrid.Views.Grid.GridView gridView, DevExpress.XtraGrid.Views.Grid.GridView gridView1, string filename){//System.Data.DataTable dt = (System.Data.DataTable)gridView.DataSource;SaveFileDialog sfd = new SaveFileDialog();filename += DateTime.Now.ToString("yyyyMMdd") + "-" + DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString();sfd.FileName = filename;sfd.Filter = "Excel files (*xls) | *.xls";sfd.RestoreDirectory = true;if (sfd.ShowDialog() == DialogResult.OK && sfd.FileName.Trim() != null){int rowIndex = 1;int rowIndex1 = 1;int colIndex = 0;int colNum = gridView.Columns.Count;System.Reflection.Missing miss = System.Reflection.Missing.Value;Microsoft.Office.Interop.Excel.Application xlapp = new Microsoft.Office.Interop.Excel.Application();xlapp.Visible = true;Microsoft.Office.Interop.Excel.Workbooks mBooks = (Microsoft.Office.Interop.Excel.Workbooks)xlapp.Workbooks;Microsoft.Office.Interop.Excel.Workbook mBook = (Microsoft.Office.Interop.Excel.Workbook)mBooks.Add(miss);Worksheet mSheet = (Microsoft.Office.Interop.Excel.Worksheet)mBook.Worksheets.Add(miss, miss, 1, Microsoft.Office.Interop.Excel.XlSheetType.xlWorksheet);Worksheet sm = mBook.Worksheets[1];sm.Name = "q";Worksheet ws = mBook.Worksheets[2];ws.Name = "B";//设置对齐方式mSheet.Cells.HorizontalAlignment = XlHAlign.xlHAlignCenter;//设置文字自动换行 //mSheet.Cells.WrapText = true;//设置第一行高度,即标题栏((Microsoft.Office.Interop.Excel.Range)mSheet.Rows["1:1", System.Type.Missing]).RowHeight = 20;//设置数据行行高度((Microsoft.Office.Interop.Excel.Range)mSheet.Rows["2:" + gridView.RowCount + 1, System.Type.Missing]).RowHeight = 16;//设置字体大小(10号字体)mSheet.Range[mSheet.Cells[1, 1], mSheet.Cells[gridView.RowCount + 1, gridView.Columns.Count]].Font.Size = 10;//设置单元格边框Microsoft.Office.Interop.Excel.Range range1 = mSheet.Range[mSheet.Cells[1, 1], mSheet.Cells[gridView.RowCount + 1, gridView.Columns.Count]];range1.Borders.LineStyle = 1;//写标题for (int row = 1; row <= gridView.Columns.Count; row++){sm.Cells[1, row] = gridView.Columns[row - 1].GetTextCaption();} //写标题for (int row = 1; row <= gridView1.Columns.Count; row++){ws.Cells[1, row] = gridView1.Columns[row - 1].GetTextCaption();}try{for (int i = 0; i < gridView.RowCount; i++){rowIndex++;colIndex = 0;for (int j = 0; j < gridView.Columns.Count; j++){colIndex++;sm.Cells[rowIndex, colIndex] = gridView.GetRowCellValue(i, gridView.Columns[j]);}} for (int i = 0; i < gridView1.RowCount; i++){rowIndex1++;colIndex = 0;for (int j = 0; j < gridView1.Columns.Count; j++){colIndex++;ws.Cells[rowIndex1, colIndex] = gridView1.GetRowCellValue(i, gridView1.Columns[j]);}}mBook.SaveAs(sfd.FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel7, miss, miss, miss, miss, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange,miss, miss, miss, miss, miss);}catch (Exception ex){throw new Exception(ex.Message);}finally{mBooks.Close();xlapp.Quit();System.Runtime.InteropServices.Marshal.ReleaseComObject(mSheet);System.Runtime.InteropServices.Marshal.ReleaseComObject(mBook);                      System.Runtime.InteropServices.Marshal.ReleaseComObject(mBooks);System.Runtime.InteropServices.Marshal.ReleaseComObject(xlapp);GC.Collect();}}else{//return false;}}}

  源码下载地址:http://download.csdn.net/detail/jn40105/7124495

转载于:https://www.cnblogs.com/Ares-blog/p/3632897.html

C# 导出Excel 多个Sheet相关推荐

  1. Poi 导出excel多个sheet的内容

    Poi 导出excel多个sheet的内容 目录 Poi 导出excel多个sheet的内容 代码: Contrller Service: 导出引用:ExcelExportUtil 导出类:PoiMu ...

  2. 编码技巧——使用Easypoi导出Excel、多sheet

    本文主要介绍easypoi导出Excel的代码示例:自己之前手动实现过导出工具类<编码技巧--导出工具类>,基于实体和注解,通过反射来映射实体字段和exce列的关系:在部分工程里面看到了e ...

  3. 前端vue导出Excel(多sheet)

    场景: 当导出文件的时候遇到结构复杂的表格(如:表头合并):或者数据分页的时候,后端就很难操作了,难以保持表格原有结构.所以就需要前端导出. 步骤如下: 1.组装数据 2.标记表头合并项,计算合并项 ...

  4. JAVA-动态导出Excel(自定义sheet,head)

    vue前端代码:file-saver - npm index.js: export function exportFile(data) {return request({url: '/url/expo ...

  5. java 导出excel到多个sheet

    java 导出excel 多个sheet 废话不多说了,直接上代码,有需要的盆友,可以看看.@TOC @RequestMapping("/exportAllyScoreCount" ...

  6. java代码实现导出Excel表格、工具ssm框架、maven、idea

    第一步.导入依赖 <!--生成excel文件--><dependency><groupId>org.apache.poi</groupId><ar ...

  7. java统计数据并导出Excel

    业务代码: @RequestMapping(value = "/exportDepartStatistics.html")@ResponseBodypublic HashMap&l ...

  8. Java导出excel文件

    需求 将每个xmpp机房的在线/离线用户信息导出到Excel表格中(定时任务+网页按钮),并在网页上提供下载按钮进行下载. 效果预览 导出文件效果 点击下载弹出框效果 代码总览 /** ". ...

  9. java导出excel文件(标题为中文乱码)

    1 Java导出Excel文件 function excelOut(){   window.location.href="../getFileToExcel/"+taskId; } ...

  10. vue使用js-xlsx、xlsx、xlsxStyle导出excel,可合并表格、修改格子样式,例如背景颜色、字体大小、列宽等

    开始之前先上效果图,觉得不错的可以点个赞(有合并表格的需求可看文章底部链接) 1.需要用到的js (1)js-xlsx.js https://github.com/Ctrl-Ling/XLSX-Sty ...

最新文章

  1. 盘点程序员写过的惊天 Bug
  2. 基于模糊聚类的色彩迁移算法
  3. Core Text 入门
  4. 全球及中国石墨烯行业发展格局及投资盈利分析报告2021年版
  5. Boost::context模块callcc的jump_void测试程序
  6. php代码格式化工具 php-cs-fixer的使用
  7. ffmpeg 纯静态编译,以及添加自定义库流程摘要
  8. Redhat 6 git 服务器配置(gitweb)
  9. Android 文件的上传
  10. oracle10g连接自动断开,报ORA-03135错误
  11. GD32F105V开发过程中的管脚配置问题记录
  12. 一次学会b站视频下载_合并_剪辑,亲测有效~
  13. 带你Dart带你Diao之类(二)
  14. 七问西方主流经济学,考考你的经济学常识
  15. php生成中国标准时间,中国时间标准
  16. 笔记本开不了机怎么办?
  17. 关于administrator没有管理员权限问题
  18. 策略模式——多种发票上传实现案例
  19. 国标GB/T28181协议下EasyGBS互联网无插件直播服务器对接华为VCN平台接入EasyGBS视频自动停止传输
  20. Yolov5训练自己的数据集(windows10)

热门文章

  1. [pytorch] 深度学习分割网络U-net的pytorch模型实现 原创 2017年03月08日 21:48:21 标签: python / 深度学习 / 生物图
  2. solr mysql安装教程_Solr安装使用教程
  3. android圆图,Android实现圆形图片或者圆角图片
  4. python流程自动化_python selenium 自动化流程的一些总结与思考
  5. micropython常用模块-Python时间模块之datetime
  6. FISCO BCOS Transaction execution error合约执行失败原因
  7. 微信公众号,微信授权进不去
  8. c语言中mylist是什么参数,数据结构题集(C语言版)算法设计题解析-第二章
  9. 基于springboot的高校后勤系统
  10. keil4出现目标未被创建_STM32入门系列-创建寄存器模板