gpt4 book ai didi

c# - 处理两个大的 Excel 文件

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:18 24 4
gpt4 key购买 nike

任务:使用 C# 创建一个 Windows 窗体应用程序,该应用程序需要两个 Excel 文件(每个大约 50 MB,约 30 万行),这两个文件是从两个不同的数据库导出的,其中包含有关客户的数据。

在下面的截图中,我试图直观地解释需要什么:

enter image description here]

问题在于加载大文件!一开始我以为我可以用 oledb 来做这件事并将数据加载到数据表中并在内存中处理它们,但是这需要很长时间并且使用大量内存:

OleDbConnection con1 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath1 + ";Extended Properties=Excel 12.0");
OleDbDataAdapter da1 = new OleDbDataAdapter("select * from [Sheet1$]", con1);

DataTable dt1 = new DataTable();
da1.Fill(dt1);
MessageBox.Show("filled");

如果只加载 1 个文件就需要那么多时间,我无法想象处理和比较行需要多长时间...有人可以建议更好的方法来完成这项任务吗?

最佳答案

有一个简单的方法 - 使用库 EPPlus .它的解析和阅读速度非常快。

然后您可以将数据转换为 DataTable (.toDataTable()) 并使用内置工具比较它们。

甚至您的输出文档也可以在 DataTables 中轻松生成,使用 EPPLUS 可以轻松将其转换为 excel。

关于c# - 处理两个大的 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31870267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com