读取超大Excel(39万行数据)

有个学长需要处理Excel数据,Excel数据共有39W,将数据读取后处理并导出数据。最开始尝试了 NPOI ,发现NPOI 并不能完成该项任务,随后尝试引用的com组件:Microsoft.Office.Interop.Excel.dll   读取EXCEL文件 . 最终 ,也以失败告终。最终,采用 将Excel 转为CSV 格式读取。

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。

如 excel 表格 :

利用Excel转为CSV 功能后得到csv 数据 ,用记事本打开后:

接下来 ,只需要是使用文件流读取数据就行。  将Excel 转换为CSV 格式文件后,读取39W行数据非常快 。 同时导出数据也可以为CSV 格式。

使用Excel 可以完美打开。  当然 ,如果实在有需要读取XLS,XLSX文件的话, 需要另外想办法。。

时间: 2024-10-10 07:52:04

读取超大Excel(39万行数据)的相关文章

使用spreadsheet-reader流式读取超大excel文件

github:https://github.com/nuovo/spreadsheet-reader 最近有一个读取超大excel文件的功能需求,使用的phpexcel,有严重的内存泄露问题,暂时还未找到解决方案. spreadsheet-reader是流式读取excel的,对于大多数格式的excel都能正常的读取,且内存消耗很小. PS:其中遇到的坑 xlsx文件一定要标准,也就是必须是offce生成的,而不是wps之类的--被这个坑了很久 如果不正确会出现如下报错,个人猜测是文件头问题,建议

NPOI读取Excel,导入数据到Excel练习01

NPOI 2.2.0.0,初级读取导入Excel 1.读取Excel,将数据绑定到dgv上 1 private void button1_Click(object sender, EventArgs e) 2 { 3 List<Book> books = new List<Book>(); 4 //1.读取Excel文件 5 using (FileStream fsReder = File.OpenRead("练习.xlsx")) 6 { 7 //2.创建工作簿

excel十几万行数据快速导入数据库研究(转,下面那个方法看看还是可以的)

先贴原来的导入数据代码: 8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings") ''' Django 版本大于等于1.7的时候,需要加上下面两句 import django django.setup() 否则会抛出错误 django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet. ''' im

[DJANGO] excel十几万行数据快速导入数据库研究

先贴原来的导入数据代码: 8 import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "www.settings") ''' Django 版本大于等于1.7的时候,需要加上下面两句 import django django.setup() 否则会抛出错误 django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet. ''' im

读取Excel中的数据到DataSet

读取Excel中的数据到DataSet 1.引用命名空间 using System.Data.OleDb; 2.输入Excel文件,输出DataSet public DataSet ExecleDs()    {        string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\data-for-source-apportionment\\PM-SO2-NOx-CO-O3-201311-20140324.xlsx

C# 读取Excel中的数据

#region 读取Excel中的数据 /// <summary> /// 读取Excel中的数据 /// </summary> /// <param name="excelFile">Excel文件名及路径,EG:C:\Users\JK\Desktop\导入测试.xls</param> /// <returns>Excel中的数据</returns> private DataTable GetTable(stri

NOPI Excel 读取公式生成后的数据

using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Web; namespace PortalPBIRS.Models { class ExcelHelper :

用黏贴板读取excel中的数据以及用R生成人名

本人尚在超级菜鸟级别,中间有些代码写的很low,请不要见笑! 1.今天先跟大家分享一个小技巧,用黏贴板将excel中的数据读进R 首先选中要读入R的数据 如图,上面是我分析的病人相关资料,Ctrol+C选中目标区域,接着在R运行以下代码: excel_clinic_data <- read.table("clipboard",sep="\t",header = T) 运行后就可以看到我们想要读到R中的数据已经读进来了,超级方便. 注意:经本人试验,好像不支持不

java easyreport 导入excel、 txt 数据批量读取(五)

有时候我们需要读的报表数据很大,这时候一次加载所有数据有可能会出现内存溢出,所以我们需要采用批量读取来实现. 导入数据test5.xls 姓名 年龄 科目 分数 王老五 12 语文 80 柯景腾 13 语文 78 沈佳宜 14 语文 88 王小贱 15 语文 60 黄小仙 12 语文 54 李大仁 14 语文 76 程又青 13 语文 58 陈寻 12 语文 67 方茴 12 语文 87 沈晓棠 13 语文 89 林嘉茉 14 语文 68 赵烨 14 语文 50 苏凯 12 语文 78 乔燃 1