Excel数据导入到dateset
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Data.OleDb;
using System.Data;
using System.Collections.Specialized;
using System.IO;
using System.Windows.Forms;
namespace SogalMRP.WinClients.WinUICommon
{
public class ImportExcel
{
public static StringCollection ExcelSheetName(string filepath)
{
StringCollection names = new StringCollection();
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
DataTable sheetNames = conn.GetOleDbSchemaTable
(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
conn.Close();
foreach (DataRow dr in sheetNames.Rows)
{
names.Add(dr[2].ToString());
}
return names;
}
public static DataSet ExcelDataSource(string filepath, string sheetname)
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "]", strConn);
DataSet ds = new DataSet();
oada.Fill(ds);
return ds;
}
public static DataSet CsvDataSouce(string filepath, string filename)
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Text;HDR=Yes';";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter oada = new OleDbDataAdapter("select * from " + filename, strConn);
DataSet ds = new DataSet();
oada.Fill(ds);
return ds;
}
public static DataSet GetDataSouce(string filepath)
{
string fileExtName = Path.GetExtension(filepath);
if (fileExtName.ToLower() == ".csv")
{
string path = Path.GetDirectoryName(filepath);
string filename = Path.GetFileName(filepath);
return CsvDataSouce(path, filename);
}
if (fileExtName.ToLower() == ".xls")
{
StringCollection sheetNameList = ExcelSheetName(filepath);
return ExcelDataSource(filepath, sheetNameList[0]);
}
return null;
}
/// <summary>
/// gridview数据导出到excel
/// </summary>
/// <param name="IGridView"></param>
public static void ExportGridViewToExcel(DevExpress.XtraGrid.Views.Grid.GridView IGridView)
{
string saveFileName = "";
SaveFileDialog savefile = new SaveFileDialog();
savefile.DefaultExt = "xls";
savefile.Filter = "Excel文件|*.xls";
savefile.ShowDialog();
saveFileName = savefile.FileName;
if (saveFileName.IndexOf(":") < 0) return;
IGridView.ExportToXls(saveFileName);
}
}
}