把分给我,我给你源码!
很简单啊, 你将数据先读取到 DataSet 里面, 然后你想怎么操作都可以了啊。
导数据库,ListBox,GridView都是一样的.一般都是先把Excel的数据读取到DataSet中,然后怎么去操作DataSet楼主应该知道怎么做了吧.
一个简单的demo
using System.Data;
using System.Data.OleDb;
namespace ConsoleApplication1
{
class Program
{
#region 连接字符串
//支持中文需要设置HDR=YES;IMEX=1这两个属性
private static readonly string excelConnectionString2003 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
private static readonly string excelConnectionString2007 = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
#endregion
static void Main(string[] args)
{
var table = ImportExcel(@"E:\file\Module.xls", "select 车牌号,车牌颜色 from [Sheet1$]");
//使用返回的数据填充对应的控件,不在罗嗦了
}
/// <summary>
/// 将excel数据导入到DataTable中
/// </summary>
/// <param name="filePath">临时文件路径</param>
/// <param name="commandText">查询语句</param>
/// <returns>处理结果</returns>
private static DataTable ImportExcel(string filePath,string commandText)
{
var type = filePath.Substring(filePath.LastIndexOf('.') + 1).ToLower();
var excelConnectionString = type == "xls" ? string.Format(excelConnectionString2003, filePath) : string.Format(excelConnectionString2007, filePath);
using (var conn = new OleDbConnection(excelConnectionString))
{
conn.Open();
OleDbCommand cmd=new OleDbCommand(commandText,conn);
OleDbDataAdapter da=new OleDbDataAdapter(cmd);
DataTable result=new DataTable();
da.Fill(result);
conn.Dispose();
return result;
}
}
}
}