新接了一个需求,要求将excel文件的数据导入到SQL中,遇到了俩个问题,请大家帮忙。
1. 如何读取excel的表头,我读取的为什么总是从第2行的数据开始的呢
2 我得数据库字段顺序是编号 名称 价格 但是导入的excel的表的结构有可能列是颠倒的 如 名称 价格 编号 怎么把颠倒的excel按照数据库表的正确顺序导入进去
3 如何在导入时创建数据库表,客户要求每导入一个文件,创建一个新表来接数据 菜鸟急问 请大侠指教啊,谢谢
1. 如何读取excel的表头,我读取的为什么总是从第2行的数据开始的呢
2 我得数据库字段顺序是编号 名称 价格 但是导入的excel的表的结构有可能列是颠倒的 如 名称 价格 编号 怎么把颠倒的excel按照数据库表的正确顺序导入进去
3 如何在导入时创建数据库表,客户要求每导入一个文件,创建一个新表来接数据 菜鸟急问 请大侠指教啊,谢谢
解决方案 »
- treeview控件,开发时 和 部署在服务器上后不一致。少了javascript:__doPostBack
- ASP.NET网站模版该如何写!!
- dataGridView的DataGridViewImageColumn
- 这句如何解释:Page.Controls.Add(new HtmlGenericControl("hr"))
- javascript脚本关闭对话框,返回上一步操作的页面,有问题.....................
- 我在微软的MSDN上看到了一个"监视服务器进程"程序,但是不能下载啊,请问还其它的地方有下载吗?
- 怎么让MD5变换到LAMBDA表达式
- 关于C#上传文件的问题
- 关于DataGrid的问题!急
- 为何我用DataGrid组件的分页功能,却不能分页呢。
- ASP.NET问题求助~
- 关于使用租用的asp.net空间的系列问题
2。导入时写出字段名
3。可以用select into from
*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
假定它第一排是标头,且含有价格/名称/编号字段
假定工作表名为sheet1
内容如下:
名称 价格 编号
A 122 1
B 2.4 12
C 58 32使用ado.net连接并读取excel
using System;
using System.Collections.Generic;
using System.Data.OleDb;public class MyClass
{
public static void Main()
{
try{
OleDbConnection conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\readxls.xls;Extended Properties=\"Excel 8.0;HDR=YES;\"");
OleDbCommand comm=new OleDbCommand();
comm.Connection=conn;
conn.Open();
comm.CommandText="select * from [sheet1$]";
OleDbDataReader oddr=comm.ExecuteReader();
while(oddr.Read()){
Console.WriteLine("名称:{0}\t编号:{1}\t价格:{2}",oddr["名称"],oddr["编号"],oddr["价格"]);
}
conn.Close();
}
catch(Exception e){
Console.WriteLine(e.ToString());
}
finally{
Console.WriteLine("end of test");
Console.Read();
}
}}运行结果:
名称:A 编号:1 价格:122
名称:B 编号:12 价格:2.4
名称:C 编号:3 价格:58
end of test
也可以直接在sql server中直接执行
select *
into mytable
from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=d:\readxls.xls;','select * from [Sheet1$]')
ps:如果是sql server 2005
请先执行
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
用用SQL SERVER的企业管理器,里面有导入功能,,