CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

求读取Excel数据(Excel是不规则的)程序

楼主nosuchtracter(极品拖拉机)2006-07-01 09:18:31 在 .NET技术 / C# 提问

我以前是做ASP.NET的,没做Window程序,现在就是要实现这么一个功能,有个输入框,让用户选择哪个xls文件,再选择到入到哪个Access数据库,这俩个是用哪个控件啊?对c#的控件不是很熟悉。  
  如何取得Excel里的数据啊?不规则的 问题点数:100、回复次数:7Top

1 楼nosuchtracter(极品拖拉机)回复于 2006-07-01 10:39:32 得分 0

没人回答?我自己先顶下咯  
  怎么得到Excel单元格的数据?Top

2 楼syeerzy(快乐永远*先天下之乐而乐*后天下之忧而忧*)回复于 2006-07-01 11:11:30 得分 30

不规则是什么意思????     导入数据从来都是要求格式的,导入不规则的格式是什么意思????导入结果都不可预测,还导来干嘛.  
   
   
   
   
  把Excel当数据库来读用OleDb.   用Reader,读一行写一行进Access最方便了.  
   
  哪来用的是哪控件啊,用OpenFileDialoge选文件不就行了?你还要什么控件?   如果你还需要显示结果就再加个DataGrid啊.Top

3 楼solsolsol(秋水萧萧 认真思考每个问题,帮人也是一种学习)回复于 2006-07-01 11:36:11 得分 10

选择到入到哪个Access数据库。。。。这个怎么选?用COMBOBOX?  
  读数据的话OLEDB  
  不规则的东西人脑判断Top

4 楼solsolsol(秋水萧萧 认真思考每个问题,帮人也是一种学习)回复于 2006-07-01 11:41:13 得分 30

string   strConn;  
  strConn   =   "Provider=Microsoft.Jet.OLEDB.4.0;"   +  
  "Data   Source="+Server.MapPath("通讯录.xls")+";"+  
  "Extended   Properties=Excel   8.0;";  
  OleDbConnection   conn   =   new   OleDbConnection(strConn);  
  OleDbDataAdapter   myCommand   =   new   OleDbDataAdapter("SELECT   *   FROM   [1$]",   strConn);  
  DataSet   myDataSet   =   new   DataSet();  
  myCommand.Fill(myDataSet);  
   
  读规则的EXCEL,  
  不规则的你用READER自己判断格式Top

5 楼rola(林)回复于 2006-07-01 12:01:07 得分 15

关注Top

6 楼nosuchtracter(极品拖拉机)回复于 2006-07-01 14:38:42 得分 0

我说的不规则就是说,有合并单元格,第一行有数据。  
  我想循环出来,但不知道为什么老抱错,帮我看下这段代码,报错提示:未处理的“System.Data.OleDb.OleDbException”类型的异常出现在   system.data.dll   中  
  public   void   ExcelToAccess(string   Path)  
  {  
  datasource=   datasource.Substring(0,datasource.LastIndexOf("."));  
  ObjApp.Workbooks.Open(@datasource,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);  
  ObjSheets=ObjApp.Worksheets;//引用工作簿中的工作表  
  ObjSheet=(Excel._Worksheet)ObjSheets.get_Item(1);//得到工作表组中第一个工作表  
  string[]   Array   =   new   string[6];  
  Array[0]=ObjSheet.Cells.get_Range("B2",Missing.Value).Text.ToString();//读出B2单元的内容  
  Array[1]=ObjSheet.Cells.get_Range("D2",Missing.Value).Text.ToString();  
  Array[2]=ObjSheet.Cells.get_Range("G2",Missing.Value).Text.ToString();  
  Array[3]=ObjSheet.Cells.get_Range("K2",Missing.Value).Text.ToString();  
  Array[4]=ObjSheet.Cells.get_Range("O2",Missing.Value).Text.ToString();  
  Array[5]=ObjSheet.Cells.get_Range("R2",Missing.Value).Text.ToString();  
   
  OleDbConnection   dbconn=new   OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data   source=Path");  
  dbconn.Open();  
  OleDbCommand   cmd   =   new   OleDbCommand();  
  cmd.CommandText="insert   into   Tabl   (线名,行别,检测起点里程,检测终点里程,检测人员,检测日期)values(Array[0],Array[1],Array[2],Array[3],Array[4],Array[5])";  
  cmd.CommandType   =   CommandType.Text;  
  OleDbDataReader   reader   =cmd.ExecuteReader();  
  }Top

7 楼myminimouse(坚决不用baidu)回复于 2006-07-01 15:57:41 得分 15

没一定的格式不行吧Top

相关问题

关键词

得分解答快速导航

  • 帖主:nosuchtracter
  • syeerzy
  • solsolsol
  • solsolsol
  • rola
  • myminimouse

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo