导入EXCEL 列名问题

putilaozu 2009-10-05 06:03:39
asp.net导入EXCEL的时候

比如:

年级 姓名 性别 成绩
1 小小 女 90
2 多多 女 80




导入的时候 EXCEL的模板固定要按照 年级 姓名 性别 成绩 来排序

代码:
string sql = "select * from [table$]";
List<M_ImportTel> listImprotTel = new List<M_ImportTel>();
DataSet ds = new DataSet();
OleDbConnection oleConn = new OleDbConnection(strConn);
try
{
oleConn.Open();
OleDbCommand oleCmd = new OleDbCommand(sql, oleConn);
oleCmd.CommandType = CommandType.Text;
OleDbParameter[] parameters = new OleDbParameter[] { };
if (parameters != null)
{
foreach (OleDbParameter var in parameters)
{
oleCmd.Parameters.Add(var);
}
}
OleDbDataAdapter oleDa = new OleDbDataAdapter();
oleDa.SelectCommand = oleCmd;
oleDa.Fill(ds);//将Excel表中的数据存入dataset中
ds.Tables[0].Rows[0][j].ToString()
}




但是一改变EXCEL列的排列位置导入就会错乱

比如:

姓名 成绩 年级 性别
小小 90 1 女
多多 80 2 女




怎么在导入的时候根据列名来读取数据呢?
...全文
183 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2009-10-06
  • 打赏
  • 举报
回复
可打开eacel模板,判断列名导入数据到dataset
sheet=(Excel._Worksheet)book.Worksheets[1];
for(int i=1;i<=sheet.Rows.Count;i++)
{}
这样导入,与列顺序无关,可再遍历判断
liaoyukun111 2009-10-06
  • 打赏
  • 举报
回复
好像还只能是一个定的列表格式
lnwuyaowei 2009-10-06
  • 打赏
  • 举报
回复
导出数据后,再确定列与对应的数据.
happy664618843 2009-10-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
可打开eacel模板,判断列名导入数据到dataset
sheet=(Excel._Worksheet)book.Worksheets[1];
for(int i=1;i <=sheet.Rows.Count;i++)
{}
这样导入,与列顺序无关,可再遍历判断
[/Quote]
shalen520 2009-10-06
  • 打赏
  • 举报
回复
指定一个order咯,按照指定的order来读取数据就是了
巴掌锅 2009-10-06
  • 打赏
  • 举报
回复
导出的EXCEL时候的格式可以自己定义 以HTML的格式输出
只需随便 传个dataset就OK了
如果需要... 联系我 给个案例你看看....
邮箱: hl_208@hotmail.com

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧