C#如何从excel中提取大数据

本文讲述如何从excel中提取数据,以及如何提取大数据的方法。

操作方法

  • 01

    1.添加引用Microsoft.Office.Interop.Excel 并引用using Microsoft.Office.Interop.Excel;

  • 02

    2.初始化环境 System.Reflection.Missing miss = System.Reflection.Missing.Value;Microsoft.Office.Interop.Excel.Application applicationExcel = new Microsoft.Office.Interop.Excel.Application();applicationExcel.Visible = false;this.m_workBook = applicationExcel.Application.Workbooks.Open(excelFilePath, miss, miss, miss, miss, miss, miss, miss, miss, miss, miss, miss, miss, miss, miss);//excelFilePath是所要打开的excel的文件路径+文件名

  • 03

    3.获取excel文件里的sheet名,并显示(此步可跳过,如果不想获取sheet名可以跳过) for (int tableIndex = 1; tableIndex <= m_workBook.Worksheets.Count; tableIndex++){         Worksheet workSheet = (Worksheet)this.m_workBook.Worksheets.get_Item(tableIndex);         this.m_comboBoxChooseTableName.Items.Add(workSheet.Name);} //this.m_comboBoxChooseTableName是示例中显示sheet名的控件,是一个combox

  • 04

    4.从this.m_comboBoxChooseTableName中获取选中的sheet表,并提取行列数 Int32 sheetIndex = this.m_comboBoxChooseTableName.SelectedIndex;//获取combox的当前选择项索引Worksheet workSheet = (Worksheet)this.m_workBook.Worksheets.get_Item(sheetIndex + 1);//根据索引获取sheet表Int32 rowCount = workSheet.UsedRange.Cells.Rows.Count;//获取当前表中数据行数Int32 columnCount = workSheet.UsedRange.Cells.Columns.Count;//获取当前表中数据列数

  • 05

    5.新建方法用来提取所需要的数据并存储到二维数组中 ( object[,] m_objValue为了方便调用,故而设置为全局二维数组) private void SetRange(Int32 startRow, Int32 endRow, Int32 columnCount, Worksheet workSheet)//startRow是所提取的数据范围的起始行,endRow是所提取的数据的终止行,columnCount是多少列数据,workSheet是所提取的sheet表。Range是excel用来表示范围的,可以是一行,也可以是一列,更可以是一块儿区域数据。 { Range startCell = (Range)workSheet.Cells[startRow, 1];Range endCell = (Range)workSheet.Cells[endRow, columnCount];Range range = workSheet.get_Range(startCell, endCell);this.m_objValue = null;//清空此二维数组this.m_objValue = (object[,])range.get_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault);//将range里的值赋给二维数组,此时将数组中的值赋给二维数组后,就可直接提取数据,无论是存储还是显示,已经无须赘述了。}

  • 06

    6.多次提取数据(如果是大数据不可能一次就提取出来,那么我们就需要多次提取,本文以八十三万数据为例,十万提取一次作为示例)此处代码跟在步骤4后面即可 for (Int32 RowsIndex = 0; RowsIndex <= (rowCount /100000); RowsIndex++) { Int32 currentCount = (RowsIndex) * c_eachReadRecordCount + 1; SetRange(currentCount, (RowsIndex + 1) * c_eachReadRecordCount, columnCount, workSheet); }

(0)

相关推荐

  • 怎么在Excel中提取分隔符中的数据

    有的小伙伴在使用Excel软件时,为了提高工作效率,因此想要快速提取分隔符中的数据,但是却不知道如何提取,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,双击或者右击打开需要提取数据的Excel ...

  • Excel中怎么把数据从大到小排列?

    Excel是常用的办公软件,很多人在工作中会经常用到,因此对于Excel里的一些基本功能要掌握,这样能提高办公效率.这里给大家介绍一下Excel中如何把数据从大到小排列,介绍两个方法,可以参考一下. ...

  • Excel中提取两列中取不重复(唯一)值之数组公式法图解

    Excel提取两列中不重复(唯一)值之数组公式法 将用到INDEX、SMALL、IF、ROW、MATCH这几个函数 工具/原料 excel 电脑 方法/步骤 我将通过数组公式在d1单元格输入数组公式然 ...

  • Excel中提取指定条件的不重复值的方法

    Excel中提取指定条件的不重复值的方法 话说某单位国庆员工文体活动安排,不同的员工参加有不同的项目. 现在需要看看美女小丽一共参加了几个项目. 也就是提取B列等于指定姓名的.C列不重复项. 如果用函 ...

  • excel中提取字符的函数left使用方法

    excel中提取字符的函数left使用方法,left函数会将单元格或者输入的文本从左侧第一位开始的字符进行提取. 操作方法 01 首先打开一个工作样表作为例子.如图所示: 02 图中的数据是纯数字,数 ...

  • Excel中导入网络数据动画教程

    《Excel2003入门动画教程61、Excel中导入网络数据》。 演示动画 操作步骤 我们除了可以从本地机器上获取数据外,还可以从网络上导入数据到Excel中,并能同网络保持随时更新。 下面,我们将 ...

  • 在Excel中怎么去掉数据的重复项?

    在工作中使用Excel时,经常会有需要在对原始记录清单进行整理时,剔除其中一些重复项,保留唯一的数据:本文将告诉您如何使用Excel对数据进行去掉重复项,来看看吧! 步骤 1.打开一个空白的excel ...

  • 在excel中如何隐藏数据?excel表格数据隐藏方法介绍

    我们在制作EXCEL工作表的时候,有一些重要数据不想显示出来,那么那么在excel中如何隐藏数据?下面小编就为大家介绍excel表格数据隐藏方法,来看看吧! 方法/步骤 EXCEL表格如何隐藏0值,让 ...

  • 在Excel中快速挑选数据的操作方法

    在我们日常的数据处理中,经常需要挑选出符合条件的数据.如果数据量不多,可以逐一核对,如果数据量过多,今天,和我们小编一起来看一下在Excel中快速挑选数据的操作方法吧. Excel中进行快速挑选数据的 ...