C#读取EXCEL的问题。。。

yinsuxia 2012-09-25 02:42:28
如果Excel中的某列不存在,在读取的过程中,会报“Can not find column[x]”,要如何避免这个错误呢?
如何能让他不报错,并且把数据都导入进去?找不到的那列可以跳过。。。
谢谢。。。
...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
a547428081 2012-09-25
  • 打赏
  • 举报
回复
做一个判断呗,如果是空的话就跳过去
lflddine 2012-09-25
  • 打赏
  • 举报
回复
报错?你在读取Excel的时候select限制列名了?
PPMMOOT 2012-09-25
  • 打赏
  • 举报
回复
column[x]不存在,1.x lager index 2.column[x]==null
做判断
熙风 2012-09-25
  • 打赏
  • 举报
回复

/// <summary>
/// 解析Excel,根据OleDbConnection直接连Excel
/// </summary>
/// <param name="filePath"></param>
/// <param name="name"></param>
/// <returns></returns>
public static DataSet LoadDataFromExcel(string filePath, string name)
{
try
{
string strConn;
// strConn = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + filePath + ";Extended Properties=Excel 8.0";
strConn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0 Xml;HDR=No\"";
OleDbConnection OleConn = new OleDbConnection(strConn);
OleConn.Open();
string sql = "SELECT * FROM [" + name + "$]";//可是更改Sheet名称,比如sheet2,等等
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
DataSet OleDsExcle = new DataSet();
OleDaExcel.Fill(OleDsExcle, name);
OleConn.Close();
return OleDsExcle;
}
catch (Exception err)
{
MessageBox.Show("数据绑定Excel失败! 失败原因:" + err.Message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
return null;
}
}
ljf96345 2012-09-25
  • 打赏
  • 举报
回复
最近也有在做读取 Excel 的项目,推荐一个插件给你:EPPLUS,官方网站:http://epplus.codeplex.com/ 非常好用,也简单

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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