中关村在线

首页 排行 新品 问答 下载 论坛 手机 笔记本 数码相机 主板 显卡 平板电脑 更多

C# System.Data.OleDb.OleDbException: 外部表不是预期的格式。

举报
CS
讨论回答 (6)
741710592q
sadsafwqwq
大概思路:把excel中的数据导出后,赋值到定义好的类中,
再绑定到datagridview中去,datagridview的数据源指向事先定义好的类上,
最后对datagridview进行一些操作
//1.连接excel并导出excel数据
/// /// excel导出数据 ///
///
///
public static dataset importformexcel(string path)
{
dataset odataset = new dataset();
try
{
string strconn = "provider=microsoft.ace.oledb.12.0;data source=" + path + ";" + "extended properties=excel 8.0;";

oledbconnection conn = new oledbconnection(strconn);

conn.open();

string strexcel = "";

oledbdataadapter mycommand = null;

strexcel = "select * from [sheet1$]";

mycommand = new oledbdataadapter(strexcel, strconn);

mycommand.fill(odataset, "table1");
}
catch (exception ex)
{
throw new exception(ex.message);
}

return odataset;
}
2.解析dataset
/// /// 解析dataset ///
///
private void getdataset(dataset dataset)
{
registarantcodes regcodelist = new registarantcodes();

if (dataset != null)
{
for (int i = 0; i < dataset.tables[0].rows.count; i++)
{
registrantcode registrantcode = new registrantcode();
registrantcode.answercode = convert.toint32(dataset.tables[0].rows[i][0]);
registrantcode.languagevalue = convert.toint32(dataset.tables[0].rows[i][1]);
regcodelist.add(registrantcode);
}
}
}

3.显示到datagridview中
//binddatagridview
private void getdataset(registarantcodes regcodelist)
{
//这句是我手写的
datagridview.datasourt=regcodelist);
datagridview.databind();
}

4.datagridview信息存入数据库中,按照正常的操作存把,我就不写了!
5:注意,可能连接excel的时候会提错一个错误,需要你安装一个东西,你按照错误安装就ok了
展开查看全部 6 条讨论
精品应用推荐
相关问题
扩展阅读
热门问题
最新问答
举报成功

经过核实后将会做出处理,感谢您为社区和谐做出贡献。

删除成功
确定推荐该回答?
推荐成功

更多频道