这是一个Excel表输出到Dataset的一个类;
测试环境:office 2003,vs2003,winxp;
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.OleDb;
namespace stgylsys
{
/// <summary>
/// ExcelToDataSet 的摘要说明。
/// </summary>
public class ExcelToDataSet
{
string OpenFileName;
DataSet ds = null;
public ExcelToDataSet(string Path)
{
OpenFileName=Path;
}
//
//从Excel文件中读入,返回一个DataSet数据类型的文件
//
public DataSet InputToDataSet()
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+OpenFileName+";"+"Extended Properties=Excel 4.0;";
string strExcel = "";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
OleDbDataAdapter myCommand = null;
strExcel="select * from [sheet1$]";
//strExcel="select * from [code_table$]";
try
{
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds,"table1");
return ds;
}
catch
{
int kaishi = OpenFileName.LastIndexOf("//")+1;
int jieshu = OpenFileName.LastIndexOf(".");
string wjname = OpenFileName.Substring(kaishi,jieshu-kaishi);
strExcel="select * from ["+wjname+"]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
try
{
myCommand.Fill(ds,"table1");
return ds;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
return null;
}
}
}
}
}