大家好,这是我在工作中总结的关于C#操作Excel的帮助类,欢迎大家批评指正!

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.IO;
using Aspose.Cells;namespace MusicgrabTool
{public class FileExport{#region 公共参数/// <summary>/// 文件名/// </summary>public string ExportFilePath { get; set; }/// <summary>/// 标签名/// </summary>public string FileName { get; set; }#endregion#region 写入Excel数据/// <summary>/// 写入数据到Excel中/// </summary>/// <param name="dataSource">数据源</param>/// <param name="sheetName">标签名</param>/// <param name="headNames">列名</param>/// <returns></returns>public bool ExportExcel(List<string[]> dataSource, string sheetName, string[] headNames){//转DataTabletry{if (!Directory.Exists(ExportFilePath)){Directory.CreateDirectory(ExportFilePath);}if (dataSource.Count == 0){return true;}DataTable dt = new DataTable();foreach (string headName in headNames){dt.Columns.Add(headName);}//如果大于100Wif (dataSource.Count > 1000000){for (int i = 0; i < 1000000; i++){DataRow row = dt.NewRow();for (int k = 0; k < dataSource[i].Length; k++){row[k] = dataSource[i][k];}dt.Rows.Add(row);}WriteToExcel(dt, sheetName + "01", headNames);//100W 写入完成
                    dt.Rows.Clear();for (int i = 1000000; i < dataSource.Count; i++){DataRow row = dt.NewRow();for (int k = 0; k < dataSource[i].Length; k++){row[k] = dataSource[i][k];}dt.Rows.Add(row);}WriteToExcel(dt, sheetName + "02", headNames);}else{foreach (string[] strings in dataSource){DataRow row = dt.NewRow();for (int i = 0; i < strings.Length; i++){row[i] = strings[i];}dt.Rows.Add(row);}WriteToExcel(dt, sheetName, headNames);}return true;}catch{return false;}}/// <summary>/// 将数据导出到Excel文件/// </summary>/// <returns></returns>private void WriteToExcel(DataTable source, string sheetName, string[] headNames){Workbook workBook = new Workbook();Worksheet workSheet = null;string str = string.Format("{0}\\{1}", ExportFilePath.Trim('/').Trim('\\'), this.FileName);if (!File.Exists(str)){workBook.Save(str);}if (File.Exists(str)){FileStream fs = new FileStream(str, FileMode.Open);workBook.Open(fs);workSheet = workBook.Worksheets.Add(sheetName);fs.Close();//添加列头workSheet.Cells.ImportArray(headNames, 0, 0, false);workSheet.Cells.ImportDataTable(source, false, 1, 0, true);//ImportArrayList(source, 1, 0, true);
                workSheet.AutoFitColumns();workBook.Save(str);}}#endregion#region 读取Excel中数据/// <summary>/// 从excel中读取数据至DataTable/// </summary>/// <param name="filePath">excel全路径</param>/// <returns></returns>public DataTable ReadExcel2DataTable(string filePath){if (!File.Exists(filePath)){return null;}Workbook workbook = new Workbook();FileStream fs = new FileStream(filePath, FileMode.Open);workbook.Open(fs);// 获取该excel文件的第一个sheetWorksheet worksheet = workbook.Worksheets[0];// 读取出所有的数据// 第一个参数是:从该excel的哪一行开始读(计数从0开始)// 第二个参数是:从该excel的哪一列开始读(计数从0开始)// 第三个参数是:行数// 第四个参数是:列数int i = worksheet.Cells.MaxDataColumn;int j = worksheet.Cells.MaxDataRow;DataTable dataTableFromExcel = worksheet.Cells.ExportDataTable(0, 0, worksheet.Cells.MaxDataRow + 1,worksheet.Cells.MaxDataColumn + 1, false);fs.Close();return dataTableFromExcel;}#endregion}
}

转载于:https://www.cnblogs.com/owensky/p/xlmeng.html

c#操作Excel整理总结相关推荐

  1. python excel库pip install_超全整理|Python 操作 Excel 库 xlwings 常用操作详解!

    原标题:超全整理|Python 操作 Excel 库 xlwings 常用操作详解! 来源:早起Python 作者:陈熹.刘早起 大家好,我是早起. 在之前的文章中我们曾详细的讲解了如何使用openp ...

  2. 干货 | 超全整理|Python 操作 Excel 库 xlwings 常用操作详解!

    在Python中还有其他可以直接操作 Excel 文件的库,如 xlwings.xlrd.xlwt 等等,本文就将讲解另一个优秀的库xlwings 开头还是想说一下,各个库之间没有明确的好坏之分,每个 ...

  3. 用VB操作Excel(VB6.0)(整理)

    用VB操作Excel(VB6.0)(整理). 一. VB读写EXCEL表: VB本身提自动化功能可以读写EXCEL表,其方法如下: 1.在工程中引用Microsoft Excel类型库: 从" ...

  4. 最全整理!Python 操作 Excel 库 xlrd与xlwt 常用操作详解!

    来源/早起Python 在之前的Python办公自动化系列文章中,我们已经相信介绍了openyxl.xlsxwriter等Python操作Excel库. 相信大家对于几个库的差异与使用场景有了一定的认 ...

  5. 超全整理|Python 操作 Excel 库 xlwings 常用操作详解!

    在之前的文章中我们曾详细的讲解了如何使用openpyxl 操作Excel,其实在Python中还有其他可以直接操作 Excel 文件的库,如 xlwings.xlrd.xlwt 等等,本文就将讲解另一 ...

  6. python excel操作库_超全整理|Python 操作 Excel 库常用操作详解

    来源:早起Python 作者:陈熹.刘早起 大家好,我是早起. 在之前的文章中我们曾详细的讲解了如何使用openpyxl 操作Excel,其实在Python中还有其他可以直接操作 Excel 文件的库 ...

  7. python excel 库 知乎_超全整理|Python 操作 Excel 库 xlwings 常用操作详解!

    来源:早起Python 作者:陈熹.刘早起 大家好,我是早起. 在之前的文章中我们曾详细的讲解了如何使用openpyxl 操作Excel,其实在Python中还有其他可以直接操作 Excel 文件的库 ...

  8. C++ builder 操作Excel方法(据网上资料整理)

    c++ builder 操作Excel方法,下面是从网上找到的一些不错的方法,学习一下: 1 用OLE操作Excel(目前最全的资料)(04.2.19更新) 2 3 本文档部分资料来自互联网,大部分是 ...

  9. python 标准库 excel_超全整理|Python 操作 Excel 库 xlwings 常用操作详解!

    大家好,我是早起. 在之前的文章中我们曾详细的讲解了如何使用openpyxl 操作Excel,其实在Python中还有其他可以直接操作 Excel 文件的库,如 xlwings.xlrd.xlwt 等 ...

最新文章

  1. VIM自动补全插件:deoplete
  2. knx智能照明控制系统电路图_咻享智能|智能家居照明控制系统的功能特点
  3. ENSP如何开启服务器的http_如何使用HTTP模块在Node.js中创建Web服务器(上)
  4. 什么是Spring inner beans?
  5. Linux学习笔记——例说makefile 增加宏定义
  6. 第二十期:黄金三步法 | 汇报时,如何让老板快速抓住重点?
  7. iOS中的异步和多线程概况
  8. Git学习系列(六)解决分支冲突及分支管理策略
  9. OJ 21658::Monthly Expense(二分搜索+最小化最大值)
  10. 字符串常量池、堆、栈
  11. MyBatis基础:MyBatis入门(1)
  12. 趣学Python 教孩子学编程
  13. deepin虚拟机安装教程
  14. 12个开源的后台端管理系统
  15. H264编码常用参数整理
  16. 小程序商城制作一个需要多少钱
  17. 【Fastlio2 SLAM算法实现】
  18. 常用C++开发环境介绍
  19. Windows登录日志详解
  20. 隐函数求导和相关变化率

热门文章

  1. java图书分析echarts_Echarts后台Java解析
  2. 基于python的压测工具_Python Locust性能测试简介及框架实践
  3. php使用pdo操作mysql数据库实例_php5使用pdo连接数据库实例
  4. Java项目:垃圾分类查询管理系统(java+SSM+jsp+MySQL+bootstrap)
  5. mysql5.7 zip安装配置_MySQL5.7的.zip文件的配置安装
  6. MySQL登录时ERROR 1045:Access denied for user ‘root’@’localhost’ (using password: YES)
  7. 用JavaScript实现在网页中显示时间表
  8. mysql ltree_mysq基础知识总结l
  9. Ant Design Pro 网络请求流程
  10. [微信小程序]提交表单返回成功后自动清空表单的值