求读取Excel数据(Excel是不规则的)程序
我以前是做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




