C#读取Excel数据

今天需要从Excel导入通信数据格式,所以去找了一下怎么从Excel读取数据。最简单的方法是打开一个Excel文件,然后从中选择你要读取的区域,然后逐一读取:

using System;
using System.Collections.Generic;
using System.Text;
using Excel = Microsoft.Office.Interop.Excel;

namespace ExcelTest
{
class Program
{
static void Main(string[] args)
{
Excel.Application oXL;
Excel.Workbooks oWBs;
Excel.Workbook oWB;
Excel._Worksheet oSheet;
Excel.Range oRng;

oXL
= new Excel.Application();
oXL.UserControl
= true;
oXL.DisplayAlerts
= false;
oXL.Application.Workbooks.Open(System.Environment.CurrentDirectory
+ "\\1.xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

oWBs
= oXL.Workbooks;
oWB
= oWBs[1];
oSheet
= (Excel.Worksheet)oWB.Worksheets["Sheet1"];

int rowCount = oSheet.UsedRange.Rows.Count;
int colCount = oSheet.UsedRange.Columns.Count;
oRng
= oSheet.get_Range("A1", "B" + rowCount);
object[,] data =(object[,]) oRng.Value2;

string[] data1 = new string[rowCount+1];
for (int i = 0; i < rowCount + 1; i++ )
{
data1[i]
= data[i + 1, 1].ToString();
}
oXL.Quit();
}
}
}

另一种方法fill进dataset,也可以返回OleDbDataReader来逐行读,稍后来研究。

posted @ 2011-08-22 22:19  非火星来的ET  阅读(504)  评论(0)    收藏  举报