C#操作Excel文件三种方式详解

这篇具有很好参考价值的文章主要介绍了C#操作Excel文件三种方式详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.OleDb方式:

  • 使用.NET Framework内置的System.Data.OleDb命名空间中的类,可以将Excel文件当作数据库来读取数据。这种方式适用于较旧版本的Excel文件(.xls格式,即Excel 2003及更早版本)。
using System.Data.OleDb;

// 创建连接字符串
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path_to_your_file.xls;Extended Properties='Excel 8.0;HDR=YES;'";

// 创建OleDbConnection对象
using (var connection = new OleDbConnection(connectionString))
{
    connection.Open();
    
    // 创建SQL查询语句
    string query = "SELECT * FROM [Sheet1$]"; // Sheet1是你要读取的工作表名称

    // 创建一个OleDbCommand对象并执行查询
    using (var command = new OleDbCommand(query, connection))
    {
        using (var adapter = new OleDbDataAdapter(command))
        {
            DataTable dataTable = new DataTable();
            adapter.Fill(dataTable);
            // 现在dataTable包含了从Excel文件中读取的数据
        }
    }
}

2.COM组件方式:

  • 利用Office Interop库(如Microsoft.Office.Interop.Excel),可以直接调用Excel应用程序的对象模型进行操作。这种方法允许对Excel进行更丰富的控制,包括读写数据、样式设置等,但需要在运行环境安装有完整版的Microsoft Office。
using Microsoft.Office.Interop.Excel;

// 创建Excel应用实例
Application excelApp = new Application();
Workbook workbook = excelApp.Workbooks.Open(@"path_to_your_file.xlsx");
Worksheet worksheet = workbook.Sheets["Sheet1"];

// 访问单元格数据
Range range = worksheet.Cells[1, 1]; // 获取第一行第一列单元格
string value = range.Value2.ToString();

// 写入数据
range.Value2 = "New Value";

// 关闭工作簿和应用
workbook.Close(SaveChanges: true);
excelApp.Quit();

3.第三方库NPOI:

  • NPOI是一个开源的.NET库,它不依赖于Office环境,可以读写不同版本的Excel文件,包括.xls和.xlsx格式。使用NPOI可以在服务器环境下无Office软件的情况下处理Excel文件。
using NPOI.HSSF.UserModel;
using NPOI.XSSF.UserModel;

// 根据文件格式创建Workbook对象
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); // .xls格式
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(); // .xlsx格式

// 创建一个新的工作表
ISheet sheet = hssfWorkbook.CreateSheet("Sheet1");

// 在工作表中添加数据
IRow row = sheet.CreateRow(0);
ICell cell = row.CreateCell(0);
cell.SetCellValue("Hello, World!");

// 写入到文件
FileStream fileStream = new FileStream("output.xls", FileMode.Create);
if (fileExtension == ".xls")
    hssfWorkbook.Write(fileStream);
else if (fileExtension == ".xlsx")
    xssfWorkbook.Write(fileStream);

// 清理资源
fileStream.Close();
hssfWorkbook.Dispose();

总结:文章来源地址https://www.toymoban.com/news/detail-841144.html

  • 每种方法都有其适用场景和限制,OleDb适合简单读取老版Excel文件数据,COM组件功能全面但要求环境支持,而NPOI则提供了轻量级且无需安装Office的解决方案。

到了这里,关于C#操作Excel文件三种方式详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用sql将excel文件导入数据库(Microsoft.ACE.OLEDB.12.0)

    1、将xlsx(或者xls文件,需要将文件后缀修改)文件数据插入数据库中 2、将csv文件数据插入数据库中 其中, \\\"HDR=yes;\\\"是说Excel文件的第一行是列名而不是数据,\\\"HDR=no;\\\"正好与前面的相反。 \\\"IMEX=1 \\\"如果列中的数据类型不一致,使用\\\"IMEX=1\\\"可必免数据类型冲突。 3、判断路径下是

    2024年02月12日
    浏览(39)
  • C# WinForm 使用Microsoft.Office.Interop.Excel对Excel文件表格的单元格值进行修改操作

    在引用位置点击右键 点击管理NUGet程序包 搜索Excel,在搜索结果中点击Microsoft.Office.Interop.Excel 然后点击安装即可,搜不到的话,在右侧程序包源位置改成全部再次搜索 。 对准项目,点击右键,在弹出菜单选择添加,选择类 类名称随意,然后清空新建类得到全部内容,把下面

    2024年02月13日
    浏览(58)
  • uni-app小程序引入iconfont的三种方式详解(无需下载文件到项目)

    官网iconfont的引入方式有三种分别为: Unicode 、 Font class 、 Symbol , 其中已明确说明 Unicode、Font class 这两种引入方式 不支持多色 。 单色如何理解呐?具体请看效果对比图(左图为UI上传的图标样式,右边为我们使用这两种方式引入后不加任何样式的效果) 是不是很丑? 另外

    2024年02月09日
    浏览(84)
  • C#实现将excel转换成pdf的三种方法

    本人经过一上午的搜索,总结了C#将excel转pdf的三种方法(导出的excel转化成pdf下载下来)。 设计文章数量较多,没有转载请见谅。 下载地址https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-NET.html 附带MemoryStream与FileStream的相互转换 以上三种方法经过试验是可以使用的。 据说还有用py

    2024年02月04日
    浏览(45)
  • C#调用COM接口的三种方式

    使用OLEView.exe查看本机安装的COM组件CLSID和接口Guid   COM组件的提供者没有提供CLSID等信息或信息提供不全时,可以使用OleView.exe来查看其类和接口的GUID. OLEView.exe全称是OLE-COM Object Viewer,是Microsoft SDK中包含的一个工具,可以用来查看本机安装的所有COM组件的信息,包括CLSID、

    2024年02月04日
    浏览(66)
  • C# winform 将excel表格导入datagridView 的方式

    方式一: 方式二:

    2024年02月05日
    浏览(52)
  • C# 读取Excel的几种常见方式及实现步骤

    目录 1.使用 Microsoft Office Interop Excel 库 2.使用 OLEDB 数据库连接方式 3. 使用 EPPlus 库 在 C# 中,我们可以使用以下几种方式将 Excel 文件中的数据读取到 DataTable 中: 1.使用 Microsoft Office Interop Excel 库 这种方法需要安装 Microsoft Office,并且性能较低。具体实现步骤如下: 2.使用 O

    2024年02月12日
    浏览(40)
  • C# 使用NPOI操作EXCEL

    1.添加NOPI         引用-管理NuGet程序包-添加NOPI 2.相关程序集 3.添加命名空间 4.从Excel导入的dgv样例 5.从dgv导入到Excel

    2024年02月11日
    浏览(58)
  • C# NPOI操作Excel汇总

    C#操作Excel有多种方法,如通过数据库的方式来读写Excel的OleDb方式,但是OleDb方式需要安装微软office,还可以通过COM组件方式操作Excel,也需要安装微软Excel。如果不想安装微软办公套餐可以使用ClosedXML、EPPlus、NPOI。本文主要是介绍NPOI的常用使用方法。 Apache POI是Apache软件基金

    2024年02月12日
    浏览(47)
  • C# 常用Excel导出的几种常见方式及实现步骤

    目录 常用Excel导出方式 1.使用 Microsoft Office Interop Excel 组件导出 Excel 文件 2.使用 NPOI 组件导出 Excel 文件  3.使用 EPPlus 组件导出Excel文件 4. 使用 ClosedXML 组件导出 Excel 文件 在 C# 中,常用的Excel 文件导出 方式包括: 使用 Microsoft Office Interop Excel 组件:这是一种使用 Microsoft E

    2024年02月06日
    浏览(81)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包