C#读取EXCEL中的信息,并保存到数据库

如题:我需要做一个C#读取固定格式的Excel文件,并将Excel中的信息存到数据库中的代码,SQLServer的数据库。Excel的列,对应数据存到数据库中对应的列中,... 如题:我需要做一个C#读取固定格式的Excel文件,并将Excel中的信息存到数据库中的代码,SQLServer的数据库。Excel的列,对应数据存到数据库中对应的列中,请高手指教,谢谢。 展开
 我来答
匿名用户
2013-08-25
展开全部
在EXCEL中可以定义表的,
定义名称的步骤很简单:

  1.选择好你要的目的工作区域(即涂黑。如要选择不连续的区域,请按住“Ctrl”键。)

  2.用鼠标点一下 “名称框”,让光标进入该输入框,然后输入任何你想用的名称后按 “Enter”键。参见图中的红线区。注意:不要使用鼠标单击其他地方的方法来代替“Enter”键,否则系统不予认可。

  

  这样,命名工作便完成了。以后,当你需要使用该区域时,只要轻松点击 “名称框”右边的黑色小三角,然后在显示的清单中选择相应的名称,该区域便由计算机自动选择好,不用你再去辛苦的翻滚屏幕了。

  另外,你如果在该区域中插入新的栏或列,该名称所指定的区域也会作相应的扩大,不用你操心。

  在一个工作簿中,随你喜欢,你可加入多个名称,其数量的多少只受可用内存的限制。而当你想取消某个名称时,可选择菜单“插入”-->“名称”-->“定义…”,系统弹出“定义名称”对话框。参见下图。该对话框其实是一个Excel 名称管理窗口,不但可删除己有名称,也可增加新的名称。

  

  在该窗口左边清单中,选择好欲删除的名称后,按右边的删除按钮便可将其删除。删除名称不会删除该名称所代表的工作区域中的数据。

使用SQL查询语句都可以
匿名用户
2013-08-25
展开全部
// 读取Excel数据,填充DataSet
// 连接字符串
string xlsPath = Server.MapPath("~/app_data/somefile.xls");
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\";" + // 指定扩展属性为 Microsoft Excel 8.0 (97) 9.0 (2000) 10.0 (2002),并且第一行作为数据返回,且以文本方式读取
"data source=" + xlsPath;
string sql_F = "SELECT * FROM [{0}]";

OleDbConnection conn = null;
OleDbDataAdapter da = null;
DataTable tblSchema = null;
IList<string> tblNames = null;

// 初始化连接,并打开
conn = new OleDbConnection(connStr);
conn.Open();

// 获取数据源的表定义元数据
//tblSchema = conn.GetSchema("Tables");
tblSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });

//GridView1.DataSource = tblSchema;
//GridView1.DataBind();

// 关闭连接
//conn.Close();

tblNames = new List<string>();
foreach (DataRow row in tblSchema.Rows) {
tblNames.Add((string)row["TABLE_NAME"]); // 读取表名
}

// 初始化适配器
da = new OleDbDataAdapter();
// 准备数据,导入DataSet
DataSet ds = new DataSet();

foreach (string tblName in tblNames) {
da.SelectCommand = new OleDbCommand(String.Format(sql_F, tblName), conn);
try {
da.Fill(ds, tblName);
}
catch {
// 关闭连接
if (conn.State == ConnectionState.Open) {
conn.Close();
}
throw;
}
}

// 关闭连接
if (conn.State == ConnectionState.Open) {
conn.Close();
}

// 对导入DataSet的每张sheet进行处理
// 这里仅做显示
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();

GridView2.DataSource = ds.Tables[1];
GridView2.DataBind();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-25
展开全部
用oledb读取excel
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浑晔澹台鸿运
2019-06-10 · TA获得超过4196个赞
知道大有可为答主
回答量:3104
采纳率:29%
帮助的人:207万
展开全部
用oledb读取excel
答案补充
数据读取成功后,你想怎么处理都行啊!@
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式