1.引用  Microsoft.Office.Interop.Excel  程序集 (可以直接在Vs的引用--->管理nuget程序包--->搜索office,安装即可)

2.废话不多说先上代码

//在将要导出数据的地方打开excel并生成表格(表格可以预设好一些内容,比如标题行等)

Application appExcel = new Application();
            Microsoft.Office.Interop.Excel.Workbook _workBook = ValueToExcel.CreateNewExcelFile(appExcel);
            Sheets _sheets = ValueToExcel.GetWorkSheet(_workBook);
           Microsoft.Office.Interop.Excel.Worksheet _workSheet1 = ValueToExcel.GetFirstSheet(_sheets);

///-------------------------------------分割--------------------------分割-------------------------分割----------------------------分割-------------------

下边为写好的方法,我会在需要用到的地方加强注释,可以直接复制使用

using Microsoft.Office.Interop.Excel;
using System.Reflection;

namespace test
{
    /// <summary>
    /// Excel文件操作类及方法
    /// </summary>
    class ValueToExcel
    {
        /// <summary>
        /// 创建一个新的Excel文档 
        /// </summary>
        /// <param name="app"></param>
        /// <returns></returns>
        public static Workbook CreateNewExcelFile(Application app)
        {
            app.Visible = true;

Workbooks _workbooks = app.Workbooks;

Workbook _workbook = _workbooks.Add(true);

return _workbook;
        }

public static Sheets GetWorkSheet(Workbook _workbook)
        {
            Sheets _sheets = _workbook.Sheets;
            _sheets.Add();
            return _sheets;
        }

/// <summary>
        /// 获取Excel文档中的第一张工作表
        /// </summary>
        /// <param name="_sheets"></param>
        /// <returns></returns>
        public static Worksheet GetFirstSheet(Sheets _sheets)
        {
            Worksheet _worksheet = (Worksheet)_sheets.get_Item(1);

_worksheet.Name = "表格名称";  //工作表名称

  //设置Excel文档中工作表的列宽度
            ((Range)_worksheet.Columns[1, Missing.Value]).ColumnWidth = 25;  //第一列
            ((Range)_worksheet.Columns[2, Missing.Value]).ColumnWidth = 12;  //第二列
            ((Range)_worksheet.Columns[3, Missing.Value]).ColumnWidth = 25;  //类推。。。。
            ((Range)_worksheet.Columns[4, Missing.Value]).ColumnWidth = 12;  //
            ((Range)_worksheet.Columns[5, Missing.Value]).ColumnWidth = 12;  //
            ((Range)_worksheet.Columns[6, Missing.Value]).ColumnWidth = 12;  //
            ((Range)_worksheet.Columns[7, Missing.Value]).ColumnWidth = 12;  //

//设置Excel文档中工作表的行高度
            ((Range)_worksheet.Rows[1, Missing.Value]).RowHeight = 35;  //第一行
            ((Range)_worksheet.Rows[2, Missing.Value]).RowHeight = 30;  //第二行
            ((Range)_worksheet.Rows[3, Missing.Value]).RowHeight = 30;  //
            ((Range)_worksheet.Rows[4, Missing.Value]).RowHeight = 30;  //
            ((Range)_worksheet.Rows[5, Missing.Value]).RowHeight = 30;  //
            ((Range)_worksheet.Rows[6, Missing.Value]).RowHeight = 30;  //
            ((Range)_worksheet.Rows[7, Missing.Value]).RowHeight = 30;  //
            ((Range)_worksheet.Rows[8, Missing.Value]).RowHeight = 30;  //
            ((Range)_worksheet.Rows[9, Missing.Value]).RowHeight = 30;  //
            ((Range)_worksheet.Rows[10, Missing.Value]).RowHeight = 30;  //

//设置第一列的A1到A10 内容超出自动换行 

_worksheet.Range["A1","A10"].WrapText = true;

//设置单元格子的内外边框
            SetRowBorderLine(_worksheet,1);
            SetRowBorderLine(_worksheet, 2);
            SetRowBorderLine(_worksheet, 3);
            SetRowBorderLine(_worksheet, 4);
            SetRowBorderLine(_worksheet, 5);
            SetRowBorderLine(_worksheet, 6);
            SetRowBorderLine(_worksheet, 7);
            SetRowBorderLine(_worksheet, 8);
            SetRowBorderLine(_worksheet, 9);
            SetRowBorderLine(_worksheet, 10);

SetCellAlignment(_worksheet,1);
            SetCellAlignment(_worksheet, 2);
            SetCellAlignment(_worksheet, 3);
            SetCellAlignment(_worksheet, 4);
            SetCellAlignment(_worksheet, 5);
            SetCellAlignment(_worksheet, 6);
            SetCellAlignment(_worksheet, 7);
            SetCellAlignment(_worksheet, 8);
            SetCellAlignment(_worksheet, 9);
            SetCellAlignment(_worksheet, 10);

ValueToExcel.SetRowBorderLine(_worksheet, 1);
            ValueToExcel.SetCellAlignment(_worksheet, 1);

//填充内容的时候用的写好的  ValueToExcel.FillContentInCell方法,动态填充内容的时候,在执行代码中进行填充

           //例如,使用foreach语句,将获取好的数据组遍历,设置好其实的 int  row (行),和 int column(列)

           第一列保持不变,每循环一次row++,就能在第一列将数据一行一行填充(然后举一反三。。。)

  //设置Excel文件中第一列的文字
            ValueToExcel.FillContentInCell(_worksheet, 2, 1, "1");  //
            ValueToExcel.FillContentInCell(_worksheet, 3, 1, "2");  //
            ValueToExcel.FillContentInCell(_worksheet, 4, 1, "3"); 
            ValueToExcel.FillContentInCell(_worksheet, 5, 1, "4");  
            ValueToExcel.FillContentInCell(_worksheet, 6, 1, "5");  
            ValueToExcel.FillContentInCell(_worksheet, 7, 1, "6");  
            ValueToExcel.FillContentInCell(_worksheet, 8, 1, "7");  
            ValueToExcel.FillContentInCell(_worksheet, 9, 1, "8");  
            ValueToExcel.FillContentInCell(_worksheet, 10, 1, "9");
     
            //设置Excel文件中第一行的文字
            ValueToExcel.FillContentInCell(_worksheet, 1, 1, "一");  
            ValueToExcel.FillContentInCell(_worksheet, 1, 2, "二");  
            ValueToExcel.FillContentInCell(_worksheet, 1, 3, "三");
            ValueToExcel.FillContentInCell(_worksheet, 1, 4, "四");
            ValueToExcel.FillContentInCell(_worksheet, 1, 5, "五");
            ValueToExcel.FillContentInCell(_worksheet, 1, 6, "六");
            ValueToExcel.FillContentInCell(_worksheet, 1, 7, "七");

return _worksheet;
        }

/// <summary>
        /// 设置Excel文档单元格的内容
        /// </summary>
        /// <param name="wsh">Excel文档的当前Sheet</param>
        /// <param name="row">行</param>
        /// <param name="column">列</param>
        /// <param name="str">单元格内容</param>
        public static void FillContentInCell(Worksheet _worksheet, int row, int column, string str)
        {
            _worksheet.Cells[row, column] = str;
          
        }

/// <summary>
        /// 设置Excel文档某一行的颜色
        /// </summary>
        /// <param name="wsh">Excel文档的当前Sheet</param>
        /// <param name="row">行</param>
        /// <param name="rbg">Excel颜色</param>
        public static void SetRowColour(Worksheet _worksheet, int row, int rbg)
        {
            Range range = (Range)_worksheet.get_Range("A" + row.ToString(), "G" + row.ToString());  //从A列到F列
            range.Interior.ColorIndex = rbg;
        }

/// <summary>
        /// 设置单元格边框
        /// </summary>
        /// <param name="_worksheet"></param>
        /// <param name="row"></param>
        public static void SetRowBorderLine(Worksheet _worksheet, int row)
        {
            Range range = (Range)_worksheet.get_Range("A" + row.ToString(), "G" + row.ToString());  //从A列到F列
            range.Borders.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous;  //设置边框
            range.Borders.Weight = Microsoft.Office.Interop.Excel.XlBorderWeight.xlThin;  //边框常规粗细
        }

public static void SetCellAlignment(Worksheet _worksheet, int row)
        {
            Range range = (Range)_worksheet.get_Range("A" + row.ToString(), "G" + row.ToString());  //从A列到F列
            range.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;  //垂直居中
            range.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;  //水平居中
        }

/// <summary>
        /// 保存并关闭Excel文档
        /// </summary>
        /// <param name="app"></param>
        /// <param name="wbk"></param>
        public static void SaveAndCloseExcelFile(Application app, Workbook wbk)
        {
            wbk.Save();
            wbk.Close();

app.Workbooks.Close();
            app.Application.Quit();

app.Quit();

System.Runtime.InteropServices.Marshal.ReleaseComObject(wbk);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

wbk = null;
            app = null;

}

}
}
///-------------------------------------分割--------------------------分割-------------------------分割----------------------------分割-------------------

//整体写好的方法还有待完善,但是够用,希望能帮到你

C#导出数据到excel表格相关推荐

  1. 百度指数常见php框架,怎么导出数据到excel表格-如何将百度指数数据导出到Excel表格...

    如何将百度指数数据导出到Excel表格 第一步:打开CAD.CAD命令行输入"Li"."选择对象"选需要提取坐标的多段线.回车. 第二步:将CAD文本框中的数据 ...

  2. 如何导出数据到Excel表格

    开发工具与关键技术:Visual Studio.MVC 作者:幻奏 撰写时间:2019.5.5 我们在日常的生活中常常会看到很多的数据,有时,我们不一定只是在项目里面看到数据,可能我们还要在其他的地方 ...

  3. 如何在 Vue 中导出数据至 Excel 表格 - 卡拉云

    本文首发:<如何在 Vue 中导出数据至 Excel 表格 - 卡拉云> 我们经常需要在 Vue 搭建的后台管理系统里导出数据到 Excel / CSV ,方便我们将数据共享给其他同学或在 ...

  4. 从浏览器里面的数据导出数据到Excel表格

    从浏览器里面的数据导出数据到Excel表格 开发工具与关键技术:Visual Studio 2015 作者:李仁海 撰写时间:2019.5.5 一. 导出数据到Excel表格 1. public.加上 ...

  5. php 输入表格数据,怎样将导出数据输入Excel 表格-php 怎么把数据导出到excel表格...

    如何将word文档中的数据导入到excel表格中 方法如下: 1.首先,打开媒介工具"记事本",将word文件里需要导入的数据,复制粘贴到记事本当中,然后保存成为txt文件,本例中 ...

  6. c#使用NPOI批量导出数据到excel表格里

    背景 我之前是做的Java开发的相关工作,c#开发还是第一次. 公司有这个需求,只好研究一下了. 我接手的是别人开发过两个报表的小玩意,万事开头难,刚开始为了搞清楚这些代码的意思走了不少弯路,下面说说 ...

  7. java导出数据到excel表格的最简单实现

    导出excel整理 开发中难免会遇到要导出数据到excel的,网上有很多方法,但是看起来都很复杂的样子,写得又非常多代码,让人望而止步.我做一个简单的导出excel表格功能.这是我在工作上用到的. 1 ...

  8. ant 改变表格数据_React ant design表格导出数据为EXCEL表格数据

    一.由于公司项目需要,需要将表格数据导出为EXCEL表格数据.环境React+Ant Design 二.安装插件js-export-excel yarn安装-记得以管理员身份执行 yarn add j ...

  9. android导出excel文件名称,android 导出数据到excel表格文件

    这是一个导出 excel表格的功能 从创建数据库 到导出表格到文件管理 package com.ldm.familybill; import java.io.File; import java.tex ...

最新文章

  1. 架构设计的目标与衡量
  2. java 获取操作系统临时目录_获取当前操作系统的临时目录对象或者地址
  3. Hibernate的generator属性
  4. POJ 2044 Weather Forecast
  5. 雷军谈小米10的3999元起售价:定价比华为苹果厚道
  6. 手机服务器共享信息,手机云共享服务器
  7. UI学习笔记---EasyUI panel插件使用---03
  8. 获取一个目录下的所有文件
  9. 将python随机森林模型保存到文件
  10. java抽签_java制作一个简单的抽签程序
  11. 牛牛的汉诺塔(记忆化搜索)
  12. emoji粉色爱心符号_特殊符号
  13. 人再囧途之泰囧.BD高清1280国语中英双字 附下载地址
  14. 【算法杂谈】LJX的迪杰斯特拉算法报告
  15. 小游戏-在评论留下你的运行结果吧
  16. escape JavaScript
  17. mysql读写分离踩坑记
  18. 基因芯片与NGS区别[转载]
  19. IDEA的一些玄学问题
  20. 【VMware】Ubunt 20.04时间设置

热门文章

  1. 2021寒假MISC打卡DAY4
  2. Zigbee-cc2530 笔记---Packet Sniffer 安装与使用
  3. 后端接收前端List
  4. 5G工业路由器领跑者:双模路由器(5G+4G)
  5. C++常量表达式函数
  6. VUE与UE5 像素流送
  7. 瑞芯微RK3308方案简介
  8. 适合电子机械行业的erp软件具备哪些功能?看完这几点终于明白了
  9. 一个在校大学生和我的Email交流,希望能引起共鸣和思考~~纯属交流~~
  10. Foxit MobilePDF SDK_如何快速创建一个功能丰富的PDF 阅读器