C#循环读取多个Excel,每个Excel文件有三个Sheet表。

my176527627 2009-08-31 03:59:48
C#读取一个文件夹,该文件夹下有多个Excel文件,每个Excel有三个Sheet表。
例如文件夹下有Excel文件AName,BName,CName...等等,每个Excel有三个Sheet表,例如有SheetA,SheetB,SheetC.
而且每个Excel文件的三个Sheet表名都是这三个一样的表名
Excel的字段在第五行,数据从第六行开始.
如何循环读取这些数据?
...全文
1155 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
guohouchang 2009-10-04
  • 打赏
  • 举报
回复
上面打一个 tableName 是路径 我写错了 .第二个才是表的名字. 例如 :SheetA,SheetB,SheetC
guohouchang 2009-10-04
  • 打赏
  • 举报
回复


/// <summary>
/// 加载Excel
/// </summary>
/// <param name="filePath">Excel路径</param>
/// <returns></returns>
public static DataTable LoadDataZongBiaoExcel(string tableName)
{
OleDbConnection OleConn = null;
String sql = string.Empty;
DataSet OleDsExcle = new DataSet();
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + tableName + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
try
{
OleConn = new OleDbConnection(strConn);
sql = string.Format("SELECT * FROM {0}",tableName);//可是更改Sheet名称,比如sheet2,等等
OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
OleDaExcel.Fill(OleDsExcle, "Sheet1");// Sheet1 表名,可以随便取一个 return OleDsExcle.Tables[0];
}
catch (Exception ex)
{
//Log.Error(ex.StackTrace + ex.Message);
}
return null;
}

loricheung 2009-09-29
  • 打赏
  • 举报
回复
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection ;

Excel.Application xApp = new Excel.ApplicationClass();
xApp.Visible = true;
Excel.Workbook xBook = xApp.Workbooks._Open(this.txtfilepath.Text ,
Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代码

Excel.Worksheet xSheet = (Excel.Worksheet)xBook.Sheets["SheetA"];

//读取数据,通过Range对象
int CurRow = 5 ;
If( xSheet.get_Range("A" + CurRow.ToString() , Type.Missing).Value2 != null )
{
string unit = xSheet.get_Range("A5" , Type.Missing).Value2.ToString() ;
CurRow ++
}


给个简单的读取代码,最好另开一个读取的线程!
loricheung 2009-09-29
  • 打赏
  • 举报
回复
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection ;

Excel.Application xApp = new Excel.ApplicationClass();
xApp.Visible = true;
Excel.Workbook xBook = xApp.Workbooks._Open(this.txtfilepath.Text ,
Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
//xBook=xApp.Workbooks.Add(Missing.Value);//新建文件的代码

Excel.Worksheet xSheet = (Excel.Worksheet)xBook.Sheets["SheetA"];

//读取数据,通过Range对象
int CurRow = 5 ;
If( xSheet.get_Range("A" + CurRow.ToString() , Type.Missing).Value2 != null )
{
string unit = xSheet.get_Range("A5" , Type.Missing).Value2.ToString() ;
CurRow ++
}

给个简单的读取代码,最好另开一个读取的线程!
xuhaijin 2009-09-28
  • 打赏
  • 举报
回复
。。。。。。。。。去网上找找吧·应该很多·

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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