首页 新闻 会员 周边

ASP:VS2008 怎么将Excel表格中某一列直接导入ListBox<<或者将Excel表格中某

0
悬赏园豆:100 [已解决问题] 解决于 2010-11-14 21:11

O想要源码…………(不用导入数据库的,直接导入ListBox或者Gridview一次性用的)!谢谢……在线等……(解决问题了分数可追加)

问题补充: ……
Smll的主页 Smll | 初学一级 | 园豆:80
提问于:2010-11-09 19:43
< >
分享
最佳答案
0

把分给我,我给你源码!

收获园豆:100
SuQr | 菜鸟二级 |园豆:330 | 2010-11-14 21:09
其他回答(3)
0

很简单啊, 你将数据先读取到 DataSet 里面, 然后你想怎么操作都可以了啊。

HUHU慈悲 | 园豆:9973 (大侠五级) | 2010-11-09 21:23
0

导数据库,ListBox,GridView都是一样的.一般都是先把Excel的数据读取到DataSet中,然后怎么去操作DataSet楼主应该知道怎么做了吧.

三桂 | 园豆:3565 (老鸟四级) | 2010-11-09 23:56
0

一个简单的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;
}
}

}
}

 

wgz | 园豆:1254 (小虾三级) | 2010-11-10 09:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册