C# 导出Excel

 1 //导出Excel
2 private void ExportExcel(string fileName, System.Data.DataTable myDGV, string title)
3 {
4 string saveFileName = "";
5 System.Windows.Forms.SaveFileDialog saveDialog = new System.Windows.Forms.SaveFileDialog();
6 saveDialog.DefaultExt = "xlsx";
7 saveDialog.Filter = "Excel文件|*.xlsx";
8 saveDialog.FileName = fileName;
9 saveDialog.ShowDialog();
10 saveFileName = saveDialog.FileName;
11 if (saveFileName.IndexOf(":") < 0) return; //被点了取消
12 Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
13 if (xlApp == null)
14 {
15 System.Windows.MessageBox.Show("无法创建Excel对象,可能您的电脑未安装Excel");
16 return;
17 }
18 Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;
19 Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
20 Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1
21
22 //操作单元格
23 Range rangeLecture = worksheet.Range[worksheet.Cells[1, 1], worksheet.Cells[1, myDGV.Columns.Count]];
24 rangeLecture.Application.DisplayAlerts = false;
25 rangeLecture.Merge(Missing.Value);
26 rangeLecture.Application.DisplayAlerts = true;
27 worksheet.Cells[1, 1] = title;
28
29
30 //写入标题
31 for (int i = 0; i < myDGV.Columns.Count; i++)
32 {
33 worksheet.Cells[2, i + 1] = myDGV.Columns[i].ColumnName;
34 }
35 //写入数值
36 for (int r = 0; r < myDGV.Rows.Count; r++)
37 {
38 for (int i = 0; i < myDGV.Columns.Count; i++)
39 {
40 worksheet.Cells[r + 3, i + 1] = myDGV.Rows[r][i].ToString();
41 }
42 System.Windows.Forms.Application.DoEvents();
43 }
44 worksheet.Columns.EntireColumn.AutoFit();//列宽自适应
45 if (saveFileName != "")
46 {
47 try
48 {
49 workbook.Saved = true;
50 workbook.SaveCopyAs(saveFileName);
51 }
52 catch (Exception ex)
53 {
54 System.Windows.MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);
55 }
56 }
57 xlApp.Quit();
58 GC.Collect();//强行销毁
59 //System.Windows.Forms.MessageBox.Show("文件保存成功", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
60 }

本文链接:https://blog.csdn.net/weixin_43343835/article/details/90713294

C#导出Excel设置单元格样式的更多相关文章

  1. 导出EXCEL设置单元格格式

    怎么设置导出的EXCEL文件的列格式 如何设置导出的EXCEL文件的列格式在office的EXCEL中我们可以在一个EXCEL文件中,选中一列再点击鼠标右键,选择设置单元格格式,可以将这一列设为文本格 ...

  2. c# 使用oledb 写入导出excel设置单元格为成数字格式 设置了不起作用

    使用oledb 导出过程中,如果excel安装版本低于2010,无论怎么设置.导出的都是文本格式. 用代码-使用数据-分列,解决

  3. C#使用NPOI导出excel设置单元格背景颜色

    ICellStyle cellStyle = workbook.CreateCellStyle(); cellStyle.FillPattern = FillPattern.SolidForegrou ...

  4. 用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

    本篇文章小编为大家介绍,用NPOI创建Excel.合并单元格.设置单元格样式.边框的方法.需要的朋友参考下 今天在做项目中,遇到使用代码生成具有一定样式的Excel,找了很多资料,最后终于解决了,Ex ...

  5. NPOI 生成Excel (单元格合并、设置单元格样式:字段,颜色、设置单元格为下拉框并限制输入值、设置单元格只能输入数字等)

    NPIO源码地址:https://github.com/tonyqus/npoi NPIO使用参考:源码中的 NPOITest项目 下面代码包括: 1.包含多个Sheet的Excel 2.单元格合并 ...

  6. Html Table用JS导出excel格式问题 导出EXCEL后单元格里的000412341234会变成412341234 7-14 会变成 2018-7-14(7月14) 自定义格式 web利用table表格生成excel格式问题 js导出excel增加表头、mso-number-format定义数据格式 数字输出格式转换 mso-number-format:"\@"

    Html Table用JS导出excel格式问题 我在网上找的JS把HTML Tabel导出成EXCEL.但是如果Table里的数字内容为0开的的导成Excel后会自动删除0,我想以text的格式写入 ...

  7. 创建excel,合并单元格,设置单元格样式

    package com.huawei.excel; import java.io.File;import java.io.FileOutputStream;import java.util.Date; ...

  8. Excel导出时设置单元格的格式为文本

    问题: 用excel导出数据时,如何设置单元格格式的数字分类为"文本",默认是"常规"? 比如:导出编码0235A089,在Excel查看默认显示的是没有前面的 ...

  9. C#.Net 导出Excel 之单元格 相关设置

    range.NumberFormatLocal = "@";     //设置单元格格式为文本range = (Range)worksheet.get_Range("A1 ...

  10. C# Aspose.Cells 如何设置单元格样式

    //Instantiating a Workbook object Workbook workbook = new Workbook(); //Adding a new worksheet to th ...

随机推荐

  1. GeoLayout: Geometry Driven Room Layout Estimation Based on Depth Maps of Planes

    1. 论文简介 论文题目:GeoLayout: Geometry Driven Room Layout Estimation Based on Depth Maps of Planes Paper地址 ...

  2. python之路47 django路由层配置 虚拟环境

    可视化界面之数据增删改查 针对数据对象主键字段的获取可以使用更加方便的obj.pk获取 在模型类中定义双下str方法可以在数据对象被执行打印操作的时候方便的查看 ''' form表单中能够触发提交动作 ...

  3. [WPF]使用Fody提高效率

    下载安装及使用 代码实例 public class Person:INotifyPropertyChanged { public event PropertyChangedEventHandler P ...

  4. Python 跨模块使用全局变量(自定义类型)

    gol.py def _init():#初始化 global _global_dict _global_dict = {} def set_value(key,value): "" ...

  5. 数学 in OI-数论-1

    数论 \(1\) \(1.\) 质数 定义就不说了吧. 性质 \(\&\) 定理 质数 \(p\) 有且仅有两个质因子 \(1\) 和 \(p\) . 质数有无穷个. \([1,\, n]\) ...

  6. py之赋值,选择判断

    赋值机制 赋值之后:变量的地址就会指向同一个地址 a=123123 b=a id(a) id(b) 字符串是不论有多长内容一样地址一样 a='sadasd' b='sadasd' id(a) id(b ...

  7. Spring Native打包本地镜像,无需通过Graal的maven插件buildtools

    简介 在文章<GraalVM和Spring Native尝鲜,一步步让Springboot启动飞起来,66ms完成启动>中,我们介绍了如何使用Spring Native和buildtool ...

  8. Unity之Android端权限申请

    Unity之Android端权限申请 Unity之Android端权限申请 前言 开篇废话 Unity版本 正题 前期准备 挂载脚本 打包发布 安装App 查看结果 结尾 唠家常 今日无推荐 Unit ...

  9. C#实现聊天消息渲染、图文混排(支持Windows、Linux)

    在实现聊天软件时,渲染文字表情图文混排是一项非常繁琐的工作,再加上还要支持GIF动图.引用消息.撤回消息.名片等不同样式的消息渲染时,就更加麻烦了. 好在我们可以使用 ESFramework 提供的 ...

  10. Deep Learning-Based Monocular Depth Estimation Methods-A State-of-the-Art Review

    注:刚入门depth estimation,这也是以后的主要研究方向,欢迎同一个方向的加入QQ群(602708168)交流. 1. 论文简介 论文题目:Deep Learning-Based Mono ...