C# Excel数据导入和导出简单方案

Excel的数据处理功能非常强大,因此在日常工作中,我们经常需要将数据从数据库或Datatable等数据源导入到Excel文档来进行数据分析或运算,有时候又需要将Excel文档中的数据导出到数据库或者Datatable来读取数据。

网上关于Excel数据导入和导出的方案比较多,比如使用Excel Interop,但是这种方式比较复杂而且要求运行环境安装Excel。本文将介绍一种简单的方式 - 使用免费Excel组件Free Spire.XLS将数据从Datatable导入到Excel文档以及将Excel文档的数据导出到Datatable,该方案不依赖Microsoft Excel。


在使用以下代码前,请先下载Free Spire.XLS并引用对应的dll文件到项目中。


Datatable导入Excel文档


将Datatable导入到Excel文档需要使用Worksheet.InsertDataTable方法。

//创建一个Excel文档
Workbook workbook = new Workbook();
 
//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];
 
//将datatable导入到工作表,数据从工作表的第一行第一列开始写入
sheet.InsertDataTable(datatable, true, 1, 1);
 
//设置自适应列宽
sheet.AllocatedRange.AutoFitColumns();
 
//设置第一行的填充颜色
sheet.Rows[0].Style.Color = Color.Yellow;
 
//保存文档
workbook.SaveToFile("ImportToExcel.xlsx",ExcelVersion.Version2013);


Excel文档导出Datatable


使用Worksheet.ExportDataTable方法可以将Excel文档的数据导出到datatable。

//创建一个datatable
DataTable datatable = new DataTable();
//载入Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile("ImportToExcel.xlsx");

//获取第一个工作表 
Worksheet sheet = workbook.Worksheets[0];
//将第一个工作表的数据导出到datatable中
datatable = sheet.ExportDataTable();

this.dataGridView1.DataSource = datatable;


 

  • 6
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
C# 中,你可以使用 Microsoft.Office.Interop.Excel 库来实现 Excel 文件的导入导出。以下是示例代码: Excel 导入: ```csharp using Microsoft.Office.Interop.Excel; string filePath = "path/to/excel/file.xlsx"; Application excel = new Application(); Workbook workbook = excel.Workbooks.Open(filePath); Worksheet worksheet = workbook.Sheets[1]; // 读取数据 for (int i = 1; i <= worksheet.UsedRange.Rows.Count; i++) { for (int j = 1; j <= worksheet.UsedRange.Columns.Count; j++) { Range range = (Range)worksheet.Cells[i, j]; Console.Write(range.Value2.ToString() + "\t"); } Console.WriteLine(); } // 关闭连接 workbook.Close(); excel.Quit(); ``` 这个示例代码会打开名为 path/to/excel/file.xlsx 的 Excel 文件,并读取第一个工作表中的所有数据。你可以根据需要修改文件路径和工作表索引。 Excel 导出: ```csharp using Microsoft.Office.Interop.Excel; string filePath = "path/to/excel/file.xlsx"; Application excel = new Application(); Workbook workbook = excel.Workbooks.Add(); Worksheet worksheet = workbook.Sheets[1]; // 写入数据 for (int i = 1; i <= 10; i++) { for (int j = 1; j <= 5; j++) { Range range = (Range)worksheet.Cells[i, j]; range.Value2 = i * j; } } // 保存文件 workbook.SaveAs(filePath); workbook.Close(); excel.Quit(); ``` 这个示例代码会创建一个新的 Excel 文件,并在第一个工作表中写入一些数据。你可以根据需要修改文件路径和数据。注意,使用 SaveAs 方法保存文件时需要指定文件路径和文件格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值